php-fpm通道,LNMP nginx配置和 php-fpm通道详解

一、fastCGI?

fastCGI是由CGI(common gateway interface,通用网关接口)发展而来,是http服务器(nginx、apache)和动态脚本语言(php)之间的通信接口。记住,fastCGI只是一个接口。

fastCGI的优点:fastCGI采用C/S结构,可以将http服务器和动态脚本解析服务器分离(二者可以部署在不同的服务器上),让http服务器专一处理静态请求和转发动态请求到脚本解析服务器;脚本解析服务器则专一处理动态脚本的请求。

二、nginx+fastCGI

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

三、php-fpm

fastCGI进程管理器/引擎:即对动态脚本进行实际解析的守护进程,由fastCGI启动。这里,php-fpm就是支持解析php的一个fastCGI进程管理器/引擎。

fastCGI是nginx和php之间的一个通信接口,该接口实际处理过程通过启动php-fpm进程来解析php脚本,即php-fpm相当于一个动态应用服务器, 从而实现nginx动态解析php。因此,如果nginx服务器需要支持php解析,需要在nginx.conf中增加php的配置:将php脚本转发到 fastCGI进程监听的IP地址和端口(php-fpm.conf中指定)。同时,php安装的时候,需要开启支持fastCGI选项,并且编译安装 php-fpm补丁/扩展,同时,需要启动php-fpm进程,才可以解析nginx通过fastCGI转发过来的php脚本。

贴上问题:

45d458df43e1e646bc3e664b9714b2c3.png

分析问题(图片和js都没加载)

91efe77dc04ad1ffa73e60dca1711c35.png

c1072dfd98f68af79fc63a106dd1b62e.png

分析原因:js和图片都走了php-fpm通道。php-fpm就是支持解析php的一个fastCGI进程管理器/引擎。

解决办法如下:

12685dbc7cd34510ef50487339134e3f.png

a537d1be838c5bdd7c3c46f9a5a2dfc8.png

延伸:php-fpm单独主机运行

c05982d49a076264515ea7ea2dca33b6.png

后端主机设置

9da32f85f8fdfdc7c1f45b589b97af14.png

04b11896939d4bbd9a341e7ae2ffa873.png

测试ok

92fa5e52c236430a660bff000eb7ea0f.png

本文转自 吃草的青蛙 51CTO博客,原文链接:http://blog.51cto.com/tlinux/1727750,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值