####################################
#Nginx與php分離配置
#Author:楚霏
#Date: 2010-5-12
#Update: 2010-5-12
#Env: Centos 5.4 x86_64
####################################

一、準備工作
####################################
環境:Centos 5.4 x86_64
WEBServer IP: 10.0.0.240
PHPServer1 IP: 10.0.0.241
PHPServer1 IP: 10.0.0.242
####################################

二、思路
####################################
WEBServer:
1.只負責接收http請求并分發;
2.只安裝nginx,不安裝php;
3.只建/www/wwwroot目錄,不存放php代碼;
4.所有靜態文件使用CDN。

PHPServer:
1.只負責處理php請求;
2.只安裝php-fastcgi和mysql客戶端;
3.建/www/wwwroot目錄,最好從NFS文件服務器上掛載網站代碼。
####################################

三、配置
####################################
#WEBServer:
#增加一行到nginx.conf
#----------------------------引用文字-開始----------------------------
include upstream.conf;
#----------------------------引用文字-結束----------------------------

#新加upstream配置文件
#vi /usr/local/nginx/conf/upstream.conf
#----------------------------引用文字-開始----------------------------
upstream FastCGIServers {
server 10.0.0.241:9000;
server 10.0.0.251:9000;
}
#----------------------------引用文字-結束----------------------------

#修改虛擬主機配置文件的fastcgi_pass為負載均衡指定的upstream值
#----------------------------引用文字-開始----------------------------
location ~ \.php$ {
include fastcgi_params;
#fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_pass FastCGIServers;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/wwwroot/test.com$fastcgi_script_name;
}
#----------------------------引用文字-結束----------------------------

#PHPServer:
vi /usr/local/php-fcgi/etc/php-fpm.conf
#----------------------------引用文字-開始----------------------------
#把監聽地址改為本機ip:port
#找到:
/tmp/php-fcgi.sock

#改為:
10.0.0.241:9000

#把請允許的客戶端改為WEBServer的地址
#找到:
127.0.0.1
#改為:
10.0.0.240
#----------------------------引用文字-結束----------------------------
####################################

四、特點
####################################
1.擴展容易:增加一臺php服務器,就不用配置nginx了,直接到nginx配置文件中增加一行即可
2.nginx配置全在一臺機器,不再需要建太多虛擬主機,也不需要每臺服務器hosts文件中解析自定義的域名
2.更好發揮各自優勢,nginx只用來接收http請求,有望達到傳說中的并發10萬;php-fcgi也可以開更多的進程。
####################################