使用Apache+Passenger部署高性能PuppetMaster

前言:

创新互联公司为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都做网站、网站建设、外贸营销网站建设, 我们的网页设计师为您提供的解决方案。

最近在服务器系统上安装了最新的Puppet客户端,发现跟老版本的PuppetMaster做同步时出现了一些问题,警告类的信息很好解决,注释掉配置文件templatedir该行即可,后来又对PuppetMaster做了次升级,直接升为最新的3.6.1,随后发现PuppetMaster默认安装的WEBrick的web服务器性能较低且最新版本3.6.1存在bug以至于无法同时接受多台Agent客户端请求,因此使用Apache+Passenger方案替代原WEBrick,提高并发性能,同时解决bug带来的问题

环境:

Ubuntu 12.04 64-LTS

PuppetMaster: 3.6.1(升级前版本为3.4.3)

PuppetAgent: 3.6.1

1、安装Apache2

 
 
  1. $ sudo apt-get install apache2 ruby1.8-dev rubygems 
  2. $ sudo a2enmod ssl 
  3. $ sudo a2enmod headers

 2、安装Rack/Passenger

 
 
  1. $ sudo gem install rack passenger 
  2. $ sudo passenger-install-apache2-module 
  3. # 按提示解决软件依赖关系后,再次运行命令安装passenger模块 
  4. Please edit your Apache configuration file, and add these lines: 
  5.   
  6. LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-4.0.44/buildout/apache2/mod_passenger.so 
  7.  
  8.   PassengerRoot /var/lib/gems/1.8/gems/passenger-4.0.44 
  9.   PassengerDefaultRuby /usr/bin/ruby1.8 
  10.  
  11.   
  12. $ sudo mkdir /etc/puppet/rack
  13. $ sudo mkdir /etc/puppet/rack/{public,tmp} 
  14. $ sudo scp /usr/share/puppet/ext/rack/config.ru /etc/puppet/rack/
  15. $ sudo chown -R puppet:root /etc/puppet/rack

3、配置Puppet虚拟主机文件

 
 
  1. $ sudo cp /usr/share/puppet/ext/rack/example-passenger-vhost.conf /etc/apache2/sites-available/puppet.conf 
  2. $ sudo vim /etc/apache2/sites-available/puppet.conf 
  3. # 按之前的提示添加如下内容 
  4. LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-4.0.44/buildout/apache2/mod_passenger.so 
  5.  
  6.   PassengerRoot /var/lib/gems/1.8/gems/passenger-4.0.44 
  7.   PassengerDefaultRuby /usr/bin/ruby1.8 
  8.   PassengerHighPerformance on 
  9.   PassengerMaxPoolSize 12 
  10.   PassengerPoolIdleTime 1500 
  11. # PassengerMaxRequests 1000 
  12.   PassengerStatThrottleRate 120 
  13. # RackAutoDetect Off                 # 注释该行 
  14. # RailsAutoDetect Off                # 注释该行 
  15.  
  16.   
  17. Listen 8140 
  18.   
  19.  
  20.         SSLEngine on 
  21.         SSLProtocol             ALL -SSLv2 
  22.         SSLCipherSuite          ALL:!aNULL:!eNULL:!DES:!3DES:!IDEA:!SEED:!DSS:!PSK:!RC4:!MD5:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXP 
  23.         SSLHonorCipherOrder     on 
  24.         # 修改为SSL实际路径及文件名 
  25.         SSLCertificateFile      /var/lib/puppet/ssl/certs/test.cominggo.com.pem 
  26.         SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/test.cominggo.com.pem 
  27.         SSLCertificateChainFile /var/lib/puppet/ssl/certs/ca.pem 
  28.         SSLCACertificateFile    /var/lib/puppet/ssl/certs/ca.pem 
  29.         # If Apache complains about invalid signatures on the CRL, you can try disabling 
  30.         # CRL checking by commenting the next line, but this is not recommended. 
  31.         SSLCARevocationFile     /var/lib/puppet/ssl/crl.pem 
  32.         SSLVerifyClient optional 
  33.         SSLVerifyDepth  1 
  34.         # The `ExportCertData` option is needed for agent certificate expiration warnings 
  35.         SSLOptions +StdEnvVars +ExportCertData 
  36.   
  37.         # This header needs to be set if using a loadbalancer or proxy 
  38.         RequestHeader unset X-Forwarded-For 
  39.   
  40.         RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e 
  41.         RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e 
  42.         RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e 
  43.   
  44.         DocumentRoot /etc/puppet/rack/public/
  45.         RackBaseURI / 
  46.          
  47.                 Options None 
  48.                 AllowOverride None 
  49.                 Order allow,deny 
  50.                 allow from all 
  51.          
  52.         ## Logging        # 设置Puppet访问日志(可选,默认日志为other_vhosts_access.log) 
  53.         ErrorLog "/var/log/apache2/puppet_error.log"
  54.         ServerSignature Off 
  55.         CustomLog "/var/log/apache2/puppet_access.log" combined 
  56.  
  57.   
  58. $ cd /etc/apache2/sites-available/
  59. $ sudo a2ensite puppet.conf

4、移除WEBrick服务(puppetmaster),并重启Apache服务

 
 
  1. $ sudo update-rc.d -f puppetmaster remove 
  2. $ sudo /etc/init.d/apache2 restart 
  3. $ sudo ss -talnp | grep apache2 
  4. LISTEN     0      128      *:8140         *:*      users:(("apache2",30037,5),("apache2",29472,5),("apache2",29467,5)) 
  5. LISTEN     0      128      *:80           *:*      users:(("apache2",30037,3),("apache2",29472,3),("apache2",29467,3)) 
  6. LISTEN     0      128      *:443          *:*      users:(("apache2",30037,4),("apache2",29472,4),("apache2",29467,4)) 

5、验证是否部署成功

1)访问HTTPS服务

 
 
  1. # 访问页面:https://test.cominggo.com:8140/ 
  2. The environment must be purely alphanumeric, not ''

2)PuppetAgent节点运行测试

 
 
  1. # PuppetAgent: 
  2. $ sudo puppet agent -t 
  3.   
  4. # PuppetMaster:查看apache访问日志是否有200状态请求 
  5. $ sudo tail /var/log/apache2/puppet_access.log 
  6. 172.16.2.22 - - [20/Jun/2014:19:11:53 +0800] "GET /production/file_metadata/modules/zabbix/check.sh?source_permissions=use&links=manage HTTP/1.1" 200 5987 "-" "-"
  7. 172.16.2.22 - - [20/Jun/2014:19:11:53 +0800] "GET /production/file_metadata/modules/zabbix/zabbix-release_2.2-1+precise_all.deb?source_permissions=use&links=manage HTTP/1.1" 200 6003 "-" "-"
  8. 172.16.2.22 - - [20/Jun/2014:19:11:53 +0800] "GET /production/file_metadata/modules/zabbix/game.conf?source_permissions=use&links=manage HTTP/1.1" 200 5971 "-" "-"
  9. 172.16.2.22 - - [20/Jun/2014:19:11:53 +0800] "GET /production/file_metadatas/modules/game/release/data?checksum_type=md5&recurse=true&links=manage HTTP/1.1" 200 44519 "-" "-"
  10. 172.16.2.22 - - [20/Jun/2014:19:11:54 +0800] "GET /production/file_metadata/modules/zabbix/netif.py?source_permissions=use&links=manage HTTP/1.1" 200 5987 "-" "-"
  11. 172.16.2.22 - - [20/Jun/2014:19:11:56 +0800] "PUT /production/report/t1.cominggo.com HTTP/1.1" 200 5683 "-" "-" 

参考:

官方文档:http://docs.puppetlabs.com/guides/passenger.html

KissPuppet博客:http://kisspuppet.com/2013/11/08/apache-passenger/

博客地址:http://phenixikki.blog./7572938/1432633

网站名称:使用Apache+Passenger部署高性能PuppetMaster
URL链接:http://www.mswzjz.com/qtweb/news32/165382.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联