热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx和PHP分服务的隔离配置

#####################################Nginx与php分离配置#Author:楚霏#Date:2010-5-12#Update:2010-5-12#Env:Centos5.4x86_64####################################一、准备工作######

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


推荐阅读
author-avatar
wwaadd4055
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有