httpd+passenger处理puppet大并发-阿里云开发者社区

开发者社区> 余二五> 正文

httpd+passenger处理puppet大并发

简介:
+关注继续查看

 

httpd+passenger处理puppet大并发

puppetmaster默认使用的是ruby自带的web服务器WEBRick,它太过简陋,无法满足puppet客户端成百上千的并发,apache成熟稳定、功能强大,这里用apache替换WEBRick。步骤如下

禁用selinux ,修改/etc/selinux/config


  1. SELINUX=disabled 

(必须果断禁用selinux,我测试好久没成功都怪它捣鬼。方法有很多,在grub内核启动参数后加selinux=0 也可)

 

用puppet的方式安装apache 和 mod_ssl (等效于yum install)


  1. # puppet resource package httpd ensure=present 
  2. # puppet resource package mod_ssl ensure=present 
  3. # puppet resource service httpd ensure=stopped 

 

安装passenger

passenger是一套apache的ruby模块,工作方式跟mod_php差不多


  1. # rpm -Uvh  http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm 
  2. # yum install mod_passenger --enablerepo=epel 

 

1、httpd的配置文件 


  1. # cp /usr/share/puppet/ext/rack/files/apache2.conf /etc/httpd/conf.d/rack.conf 

很不幸,这里的配置文件是给debian/ubuntu用的,需要修正一些设置,譬如ssl路径为/var/lib/puppet/ssl

 

还有两行要注意,证书名字需要替换,否则httpd报错文件不存在,无法启动httpd。

 

 将


  1. SSLCertificateFile  /etc/puppet/ssl/certs/squigley.namespace.at.pem 
  2. SSLCertificateKeyFile   /etc/puppet/ssl/private_keys/squigley.namespace.at.pem 

替换成


  1. SSLCertificateFile  /var/lib/puppet/ssl/certs/puppet.test.org.pem 
  2. SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/puppet.test.org.pem 

 

2、建立httpd虚拟主机的根目录,/etc/puppet/rack  


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

 (config.ru 文件为触发apache调用puppetmaster )

3、测试成功


  1. # chkconfig puppetmaster off 
  2. # chkconfig httpd on  
  3. # service httpd start  
  4. # puppet agent --test   
  5. info: Caching catalog for apache01.test.org   
  6. info: Applying configuration version '1343463477'   
  7. notice: Finished catalog run in 0.02 seconds   

 (补充说明,8140端口被apache占据,因此puppetmaster应该禁用。 )










本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/979712,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用jMeter对基于SAP ID service进行Authentication的Restful API进行并发测试
这篇文章本来Jerry只在SAP社区上写了英文版的,后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称这种方式对他们自己的API性能测试很有用,所以我觉得还是值得用中文再写一遍。
1127 0
Oracle编程,遇到并发的情况处理
在实际业务处理,特别是在统计报表数据时,经常会遇到并发的情况。 在实际工作中,我遇到过类似的情况,大概情况是这样的: 在统计报表的时候需要,用户前台点击生成,当2个用户登陆,同时点击报表生成时,会出现报表数据重复的现在。这当然是,一个用户点击生成时,后台数据还没有完全跑完,然后有一个用户点击,又重新跑刚才的同一个过程,并且入参都一样,这就导致重复数据的出现。 现在想到一个处理方法如下
948 0
网站大并发处理
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要
1383 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9481 0
ASP.NET中的HTTP模块和处理程序
原文来自 :http://blog.csdn.net/zztfj/article/details/5773107 在Internet时代的开端,客户端的需求非常有限;.htm文件就可以满足他们的需求。
868 0
nginx 部分跳转到本机处理
server { listen 80; server_name test.net; root /data/nginx/html; location /{} } server { listen 443; server_name test.
814 0
Python全栈快餐教程(1) - 用Flask处理HTTP请求
# Python全栈快餐教程(1) - 用Flask处理HTTP请求 ## 初识Flask Flask是最流行的Python web框架之一。 我们来写个最小的web应用,只有一个路由先跑进来玩玩吧。 ```python from flask import Flask # 定义flask app对象 app = Flask(__name__) # 处理路由
1033 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13163 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载