环境:puppet-3.1 (由于puppet 3.x系列版本不支持mongrel)则使用Nginx and Passenger来做集群。

centos 6.3

1.配置yum源,包括puppet Nginx Passenger

  1. rpm -ivh epel-release-6-8.noarch.rpm
  2. #puppet源
  3. [root@test puppet]# cat /etc/yum.repos.d/puppet.repo
  4. [puppet]
  5. name=Puppet for EL $releasever - $basearch
  6. baseurl=http://yum.puppetlabs.com/el/6/products/$basearch
  7. enabled=1
  8. gpgcheck=1
  9. gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  10. #nginx 源
  11. [root@test puppet]# cat /etc/yum.repos.d/nginx.repo
  12. [nginx]
  13. name=nginx repo
  14. baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
  15. gpgcheck=0
  16. enabled=1

配置Passenger源

  1. #http://passenger.stealthymonkeys.com/
  2. RHEL 6 / CentOS 6 / ScientificLinux 6: (note, these packages depend on EPEL)
  3. rpm --import http://passenger.stealthymonkeys.com/RPM-GPG-KEY-stealthymonkeys.asc
  4. yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm

安装Puppet:

  1. yum install -y ruby rubygems ruby-devel
  2. yum install -y puppet puppet-server

安装nginx:

  1. yum install nginx

安装nginx-passenger:

  1. yum install nginx-passenger

配置Puppet 与passenger结合:

  1. # mkdir -p /etc/puppet/rack/public
  2. # cp /usr/share/puppet/ext/rack/files/config.ru /etc/puppet/rack/
  3. # chown -R puppet:puppet /etc/puppet/rack/

创建nginx 配置文件 /etc/nginx/nginx.conf:

  1. user  nginx;
  2. worker_processes  1;
  3. error_log  /var/log/nginx/error.log warn;
  4. pid        /var/run/nginx.pid;
  5. events {
  6. worker_connections  1024;
  7. }
  8. http {
  9. include       /etc/nginx/mime.types;
  10. default_type  application/octet-stream;
  11. log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  12. '$status $body_bytes_sent "$http_referer" '
  13. '"$http_user_agent" "$http_x_forwarded_for"';
  14. access_log  /var/log/nginx/access.log  main;
  15. sendfile        on;
  16. tcp_nopush      on;
  17. keepalive_timeout  65;
  18. # Passenger needed for puppet
  19. passenger_max_pool_size 15;
  20. include /etc/nginx/conf.d/*.conf;
  21. }

确保passenger_root的路径:

  1. # passenger-config --root
  2. 检查/etc/nginx/conf.d/passenger.conf
  3. [root@test puppet]# cat /etc/nginx/conf.d/passenger.conf passenger_root /usr/lib/ruby/gems/1.8/gems/passenger-3.0.19; passenger_ruby /usr/bin/ruby;

创建nginx puppet server 配置文件 /etc/nginx/conf.d/puppet.conf:

  1. server {
  2. listen                     8140 ssl;
  3. server_name                puppet puppet.example.com;
  4. passenger_enabled          on;
  5. passenger_set_cgi_param    HTTP_X_CLIENT_DN $ssl_client_s_dn;
  6. passenger_set_cgi_param    HTTP_X_CLIENT_VERIFY $ssl_client_verify;
  7. access_log                 /var/log/nginx/puppet_access.log;
  8. error_log                  /var/log/nginx/puppet_error.log;
  9. root                       /etc/puppet/rack/public;
  10. ssl_certificate            /var/lib/puppet/ssl/certs/client.domain.com.pem;
  11. ssl_certificate_key        /var/lib/puppet/ssl/private_keys/client.domain.com.pem;
  12. ssl_crl                    /var/lib/puppet/ssl/ca/ca_crl.pem;
  13. ssl_client_certificate     /var/lib/puppet/ssl/ca/ca_crt.pem;
  14. ssl_ciphers                SSLv2:-LOW:-EXPORT:RC4+RSA;
  15. ssl_prefer_server_ciphers  on;
  16. ssl_verify_client          optional;
  17. ssl_verify_depth           1;
  18. ssl_session_cache          shared:SSL:128m;
  19. ssl_session_timeout        5m;
  20. }

注意下,我这里puppet server的hostname  具体的key路径之类的 大家自己按各自的环境自己改 。

修改文件/etc/puppet/puppet.conf:

  1. [main]
  2. [agent]
  3. server = puppet.example.com
  4. [master]
  5. certname = puppet.example.com

关闭puppet master开机自动运行:

  1. # chkconfig puppetmaster off

配置nginx:

  1. # service nginx configtest
  2. # chkconfig nginx on
  3. # service nginx start

转载于:https://blog.51cto.com/1076468/1195371

puppet集群之 Nginx and Passenger相关推荐

  1. Nacos 集群整合 Nginx 实现反向代理、负载均衡_03

    文章目录 一.Nginx 配置 1. 下载安装nginx 2. 配置nginx 3. 启动nginx 4. 测试验证 5. 配置域名 4.6. 域名验证 一.Nginx 配置 1. 下载安装nginx ...

  2. emq集群配置nginx做负载均衡

    emq集群配置nginx做负载均衡 创建 EMQ X 节点集群 emqx 集群搭建 例如: 节点 IP 地址 emqx@192.168.1.17 192.168.1.17 emqx@192.168.1 ...

  3. Nginx 高可用集群解决方案 Nginx + Keepalived

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:10pcm 链接:https://blog.51cto.co ...

  4. RabbitMq集群使用Nginx做负载均衡

    2019独角兽企业重金招聘Python工程师标准>>> 1.配置rabbitmq集群(可以参考前一篇RabbitMq之部署集群) 2.Nginx做负载均衡 注意:Nginx1.90版 ...

  5. mariadb集群与nginx负载均衡配置--centos7版本

    这里配置得是单nginx主机..先准备4台主机,三台mariadb集群,一台nginx. ------------------------------------------------------- ...

  6. k8s集群部署nginx服务并使用ceph-csi挂载存储以及测试

    一.ceph-csi存储在k8s部署以及外部cephfs集群的搭建 请查看我之前的文章,这里直接使用已安装的存储即可. 二.部署nginx持久化存储. 1.创建空间命名nginx-www # cat ...

  7. JBOSS EAP实战(2)-集群、NGINX集成、队列与安全

    JBOSS HTTP的Thread Group概念 JBOSS是一个企业级的J2EE APP Container,因此它和任何一种成熟的企业级中间件一样具有Thread Group的概念. 所谓Thr ...

  8. 负载均衡集群技术-nginx

    前言   负载均衡(又称为负载分担),英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡.分摊到多个操作单元上进行执行,例如Web服务器.FTP服务器.企业关键应用服务器和其它关 ...

  9. docker 集群中 nginx 配置 php 需要注意的地方

    序 最近docker部署集群的时候遇到了一个问题.于是就踩坑了- 问题复现 那就是php和nginx不在同一个容器,却要通过nginx配置的server_name和listen来访问php项目. 之前 ...

最新文章

  1. Mysql的concat concat_ws group_concat
  2. c语言第七章函数调用题库,c语言题库7-函数.doc
  3. 互联网协议入门-通俗易懂的讲计算机网络5层结构
  4. Linux下设计一个简单的线程池
  5. Android BLE(2)---蓝牙学习
  6. 块级、行内元素水平垂直居中方法
  7. Ubuntu 下 Apache2 与Tomcat5 的交配指南.(转自互联网)
  8. Mac电脑优化工具箱MacCleaner PRO
  9. 【外文文献检索与下载方法】
  10. powerbi嵌入到HTML5,如何把Power BI嵌入到Web应用中
  11. 幼儿编程Scratch第31讲:垃圾车-乐高入门机器人-WeDo
  12. 这届年轻人正在背着你偷偷攒钱
  13. 2007左右美国程序员工资大概样子
  14. 此生不戒多巴胺—冲刺总结
  15. 软件测试中单元测试,集成测试,系统测试,验收测试的区别
  16. 「实用」打造自我感觉非常漂亮的Mac终端
  17. ProxySQL 配置详解及读写分离(+GTID)等功能说明 (完整篇)1
  18. iOS APP适配iPhone X全屏
  19. python在浏览器运行一片空白_运行代码,浏览器显示一片空白是怎么回事?
  20. QT之Tableview

热门文章

  1. 修改Thickbox,预加载图片和点击图片前后浏览
  2. 一分钟检测应用状态 | 企业应用健康扫描中心发布
  3. es6 name属性
  4. SQLServer2014 安装错误:等待数据库引擎恢复句柄失败
  5. (三)Redis for StackExchange.Redis
  6. 浅谈对Fragment的认识
  7. bzoj3589 动态树
  8. 实现spring IOC的常见二种方法 setter注入与构造器注入
  9. 获取表中的某个字段名
  10. 用神经网络模拟分子:数据精确性检测