Nginx 与 PHP-FPM 的工作机制(强烈建议阅读,面试中常问,却很少有人能说清楚)

本文介绍了CGI、FastCGI、PHP-CGI和PHP-FPM等概念,阐述了它们在Web服务器与Web应用程序交互中的角色。PHP-FPM作为FastCGI的实现,通过master和worker进程管理PHP解析。Nginx作为Web服务器,通过FastCGI协议与PHP-FPM通信,处理动态内容请求。理解这一工作流程对于优化Web应用性能至关重要。
摘要由CSDN通过智能技术生成

在介绍Nginx和PHP-FPM的工作机制之前,先了解下面几个名词:

名词解释

CGI:CGI的英文是(COMMON GATEWAY INTERFACE)公共网关接口,是 Web Server 与 Web Application 之间数据交换的一种协议。它的作用就是帮助服务器与后端语言通信,这里就是nginx和php进行通信,因为nginx和php的语言不通,因此需要一个沟通转换的过程,而CGI就是这个沟通的协议。

FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化。

PHP-CGI:是 PHP (Web Application)对 Web Server 提供的 CGI 协议的接口程序。

PHP-FPM:它是 FastCGI 的实现,是 PHP(Web Application)对 Web Server 提供的 FastCGI 协议的接口程序。PHP-FPM 是一个 PHP 进程管理器,包含 master 进程和 worker 两种进程:master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个 (具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方。

 

了解完这些名词之后,我们开始来介绍一下Nginx、PHP-FPM的工作方式,以及二者之间是如何通信的。

扫码进去看吧,里面有图,懒得一张一张上传了

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值