nginx与PHP的关系和交互方式【转】

nginx与PHP的关系.

对比, apache和PHP的关系, 将PHP安装成apache的一个功能模块, 导致的结果, 对外只有一个apache程序, PHP并不独立出现, 仅仅是apache的模块. 修改php的配置, 重启apache才能生效.

但是, nginx与PHP, 不是模块的关系. 是相互独立交互的关系.

当nginx接收到浏览器的的http请求后, 将请求在转发给PHP进行处理. 在nginx与PHP间也存在一种网络交互.

通常: PHP的会在9000端口进行监听, 当nginx有请求需要处理时, 将请求在转发到PHP的9000端口上.

如图所示:

nginx与PHP的关系和交互方式

fastCGI, 高速通用网关接口, fast Common GateWay Interface. 是最通用的web服务器与应用程序间的通讯方式. 例如, 任何的web服务器, 与 任何应用程序之间都可以采用FastCGI的方式通讯. 例如, iis(windows上的常用的web服务器)与PHP交互时, 就是fastCGI.

而将PHP安装为apache的模块, 是apache与PHP之间特殊处理.

当nginx接收到浏览器请求时, 使用fastCGI方式, 与PHP交互.

同样PHP需要管理这些文本服务器发送的过来的基于fastCGI的请求, PHP使用: FPM来进行管理. 就是 FastCGI 进程管理(FasctCGI Process Manage).

nginx与PHP的关系和交互方式

nginx转发.php文件处理,到PHP的FPM上

修改nginx的配置文件完成:

conf/nginx.conf

nginx与PHP的关系和交互方式

修改配置后,记得重启Nginx

nginx -s reload

原文地址:https://www.cnblogs.com/paul8339/p/7550589.html