####################################
#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也可以开更多的进程。
####################################