nginx的php分离搭建,Nginx和PHP分离部署

Nginx本身并不支持对外部程序的直接调用或者解析,需通过FastCGI进行调用。Nginx收到CGI请求之后,转发到FastCGI接口在脚本解析服务器上启动一个或者多个守护进程对动态脚本进行解析。

FastCGI是http服务器(Nginx、Apache)和动态脚本语言(php)之间的通信接口。FastCGI采用C/S结构,可以将http服务器和动态脚本解析服务器分离(二者可以部署在不同的服务器上),让http服务器专一处理静态请求和转发动态请求到脚本解析服务器;脚本解析服务器则专一处理动态脚本的请求。PHP-FPM就是FastCGI进程管理器。

将Nginx和PHP部署到一台服务器上时,随着业务量增加,高并发下PHP处理不过来,考虑用一台10.11.2.3做Nginx服务器和FastCGI客户端,用两台10.11.2.4/5做FastCGI服务器。配置如下:

二、10.11.2.3上的配置

vi /etc/nginx/nginx.conf 在http段添加

upstream fastcigservers {

server 10.11.2.4:9000;

server 10.11.2.5:9000;

}

vi /etc/nginx/conf.d/default.conf将fastcgi_pass 指向fastcgiservers

location ~ \.php$ {

fastcgi_pass   fastcgiservers;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

三、10.11.2.4上的配置(10.11.2.5配置与之类似)

vi /etc/php-fpm.d/www.conf

#listen = 127.0.0.1:9000

listen = 10.11.2.4:9000      #地址改为本机IP

#listen.allowed_clients = 127.0.0.1

listen.allowed_clients = 10.11.2.3 #地址改为nginx服务器IP

service php-fpm restart

四、PHP代码脚本均上传到/var/www/html

10.11.2.4上测试PHP

echo "10.11.2.4";

phpinfo();

?>

10.11.2.5上测试PHP

echo "10.11.2.5";

phpinfo();

?>

在浏览器输入http://10.11.2.3时,刷新可见IP的变化,轮流在4和5上做解析

即PHP解析服务器上都放一套相同的代码,不清楚PHP具体是怎样一个解析过程。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值