Puppet的服务器效能不高,所以想改用Nginx,有的方法是编译的方法,太慢了!幸好是yum源可以安装:
cd /tmp
wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
PS:(RedHat6:wget http://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm)
这样就建立了yum库。
下面安装就变得简单了:
yum install -y nginx
检查安装情况:
service nginx start
在浏览器中查看:
说明基本安装成功!
参考:http://www.cyberciti.biz/faq/install-nginx-centos-rhel-6-server-rpm-using-yum-command/
(二)Nginx,passenger和puppet-dashbord结合:
按照之前的《centos 上安装DashBoard》将puppet-dashboard好。
(I)安装passenger
1.要是之前没有安装依赖包的话要先安装依赖包:
yum -y install httpd httpd-devel ruby-devel ruby-libs rubygems
2.安装passenger:
gem install passenger
PS: 用gem list --local查看是否 rake和rack安装了要是没有安装也要安装:
gem install rake rack
3.安装Nginx及passenger模块[时间比较长]
passenger-install-nginx-module
这里选择Ruby,即直接按Enter键就可以了:
PS:上面会检查需要的软件,要是原来机器上面没有安装,passenger会安装失败,此时,只要跟这提示安装缺少的软件就可以,也就是几条简单的yum install命令。
选择1,自动安装,使用推荐路径即可:/opt/nginx
出现了下面提示表示安装成功:
4.配置nginx.conf文件
因为是自动编译安装,将上面的提示写入到配置文件中去,
cd /opt/nginx/conf
在这个目录下有nginx.conf文件,用vim打开,要是http{ ~} 里面没有 passenger_root 和 passenger_ruby 我们便将其添加进去就可以了。
还是在nginx.conf文件中,找到server{~} 注释原来的listen 和 server_name 项,以免和后面添加的server冲突:
在目录下/opt/nginx/conf下新建目录conf.d用于存放其他的.conf配置文件
mkdir /opt/nginx/conf/conf.d
新建与本主机相关的配置文件:
vim mas2.domain.com.conf
server {listen 80;
server_name mas2.domain.com;
root /usr/share/puppet-dashboard/public;
passenger_enabled on;
passenger_set_cgi_param HTTP_X_CLIENT_DN $ssl_client_s_dn;
passenger_set_cgi_param HTTP_X_CLIENT_VERIFY $ssl_client_verify;
access_log /var/log/nginx/mas2.domain.com_access.log;
error_log /var/log/nginx/mas2.domain.com_error.log;
ssl_certificate /var/lib/puppet/ssl/certs/mas2.domain.com.pem;
ssl_certificate_key /var/lib/puppet/ssl/private_keys/mas2.domain.com.pem;
ssl_crl /var/lib/puppet/ssl/ca/ca_crl.pem;
ssl_client_certificate /var/lib/puppet/ssl/certs/ca.pem;
ssl_ciphers SSLv2:-LOW:-EXPORT:RC4+RSA;
ssl_prefer_server_ciphers on;
ssl_verify_client optional;
ssl_verify_depth 1;
ssl_session_cache shared:SSL:128m;
ssl_session_timeout 5m;
}
然后将opt/nginx/conf/conf.d/mas2.domain.com.conf包含到opt/nginx/conf/nginx.conf中去:
所示passenger版本为5+,则修改为
passenger_set_header X_CLIENT_S_DN $ssl_client_s_dn;
passenger_set_header X_CLIENT_VERIFY $ssl_client_verify;
在opt/nginx/conf/nginx.conf文件最后添加include /opt/nginx/conf/conf.d/*.conf;
5.重启Nginx:
killall nginx
/opt/nginx/sbin/nginx
PS:可以用killall nginx(或者/opt/nginx/sbin/nginx -s stop)关闭nginx
在浏览器中输入mas2.domain.com(看考上面server{ ~ } 中的server_name):
看下nginx启动前后,puppet-dashboard状态:
在ngixn+passenger取代webrick时,不需要再专门用service puppet-dashboard start启动。
PS:(II)Nginx是编译安装的,需要通过/opt/nginx/sbin/nginx启动,不能通过service nginx start启动,因为yum安装的路径在/etc/nginx中,两者的配置文件也不一样。要是将passenger_root,和passenger_ruby项添加到yum方式安装的nginx配置文件中/etc/nginx/nginx.conf报错。