Nginx+Passenger配置

Nginx+Passenger配置


1.安裝passenger相關軟件包

[root@master ~]yum install -y rubygems

[root@master ~]gem rack

[root@master ~]gem rake

[root@master ~]gem passenger -v 3.0.12

2.使用passenger-install-nginx-module安裝之前先安裝相關軟件包

注:以下兩個包解壓即可

[root@master package]#wget http://downloads.sourceforge.net/pcre/pcre-8.32.tar.bz2

[root@master package]#tar xf pcre-8.32.tar.bz2

[root@master package]#http://www.openssl.org/source/openssl-1.0.1.tar.gz

[root@master package]#tar xf openssl-1.0.1.tar.gz

[root@master ~]# passenger-install-nginx-module

選擇1

1.This installer will compile and install Nginx with Passenger support.

選擇2使用已有的nginx包安裝

Where is your Nginx source code located?

Please specify the directory: /root/package/nginx-1.2.8

Where do you want to install Nginx to?

Please specify a prefix directory [/opt/nginx]: /usr/local/nginx

Extra arguments to pass to configure script: --with-pcre=/root/package/pcre-8.32 --with-openssl=/root/package/openssl-1.0.1


3.配置Nginx

[root@master ~]vim /usr/local/nginx/conf/nginx.conf

server {

listen 8140 ssl;

server_name master.csdn.net;

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 /usr/local/nginx/logs/puppet_access.log;

error_log /usr/local/nginx/logs/puppet_error.log;

root /etc/puppet/rack/puppetmaster/public/;

ssl_certificate /var/lib/puppet/ssl/certs/master.csdn.net.pem;

ssl_certificate_key /var/lib/puppet/ssl/private_keys/master.csdn.net.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;

}

4.創建相應的目錄.

mkdir -p /etc/puppet/rack/puppetmaster/{public,tmp}

複製config.ru到/etc/puppet/rack/puppetmaster/

cp /usr/share/puppet/ext/rack/files/config.ru /etc/puppet/rack/puppetmaster/

更改config.ru

vim /etc/puppet/rack/puppetmaster/config.ru

# a config.ru, for use with every rack-compatible webserver.

$0 = "master"

# if you want debugging:

# ARGV << "–debug"

ARGV << "–rack"

require 'puppet/application/master'

run Puppet::Application[:master].run

# EOF /etc/puppet/rack/puppetmaster/config.ru


複製pulic目錄到/etc/puppet/rack/puppetmaster/,裏面有dispatch.cgi,dispatch.fcgi,以及dispatch.rb等文件

cp -rf /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/test/stub/rails_apps/1.2/empty/public/* /etc/puppet/rack/puppetmaster/public/

[root@master package]# ll /etc/puppet/rack/puppetmaster/public/ ,

total 28

-rw-r--r--. 1 root root 947 May 28 19:18 404.html

-rw-r--r--. 1 root root 941 May 28 19:18 500.html

-rwxr-xr-x. 1 root root 473 May 28 19:18 dispatch.cgi

-rwxr-xr-x. 1 root root 855 May 28 19:18 dispatch.fcgi

-rwxr-xr-x. 1 root root 474 May 28 19:18 dispatch.rb

-rw-r--r--. 1 root root 0 May 28 19:18 favicon.ico

drwxr-xr-x. 2 root root 4096 May 28 19:18 images

-rw-r--r--. 1 root root 99 May 28 19:18 robots.txt



5.改變/etc/puppet/rack的權限爲puppet

[root@master package]# chown puppet.puppet /etc/puppet/rack/ -R


6.關閉puppetmaster服務

[root@master package]#service puppetmaster stop

[root@master package]#chkconfig puppetmaster off


7.啓動Nginx服務

[root@master package]#/usr/local/nginx/sbin/nginx


常用參加:

-s reload 重新加載配置文件

-s stop 關閉服務

注:啓動nginx不能加-s


8.客戶端驗證





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章