随着公司应用需求的增加,需要不断的扩展,服务器数量也随之增加,当服务器数量不断增加,我们会发现一台puppetmaster压力大,解析缓慢,而且时不时出“Timeout”之类的报错,那这时有什么优化的办法吗?我们在Puppet官网上找寻解决方案,发现puppetmaster可以配置多端口,结合WEB代理(推荐轻量级的负载均衡器Nginx),这样puppetmaster承受能力至少可以提升数倍以上,相当于在很大程度上优化了puppet的处理能力。
1.遵循前面的环境设定,我们这里的服务器环境及软件版本分别为:
服务器系统:CentOS5.8 x86_64
Ruby版本:ruby-1.8.5
Puppet版本:puppet-2.7.9
Nginx版本:nginx-0.8.46
2.Mongrel安装
要使用puppet多端口配置,需要指定mongrel类型,默认没有安装,需要安装:
yum install -yrubygem-mongrel
3.配置puppetmaster
在/etc/sysconfig/puppetmaster文件末尾添加如下两行,分别代表多端口、mongrel类型,内容如下所示:
PUPPETMASTER_PORTS=(8141 8142 8143 81448145)
PUPPETMASTER_EXTRA_OPTS="--servertype=mongrel--ssl_client_header=HTTP_X_SSL_SUBJECT"
4.安装Nginx服务
安装之前请确保系统已经安装pcre-devel正则库,然后再编译安装Nginx,需要添加SSL模块参数支持,Nginx的安装过程如下所示:
yum -y install pcre-devel
cd /usr/local/src
wgethttp://nginx.org/download/nginx-0.8.46.tar.gz
tar zxvf nginx-0.8.46.tar.gz
cd nginx-0.8.46
./configure --prefix=/usr/local/nginx--with-http_ssl_module
make && make install && cd../
更多精彩内容:http://www.bianceng.cn/Servers/web/
添加www用户组及用户,命令如下所示:
groupadd www
useradd -g www www