Nginx 与 FPM 的工作机制

来源:互联网 发布:数据库服务端和客户端 编辑:程序博客网 时间:2024/05/16 10:38

FPM 是一个 PHP 进程管理器,包含 master 进程和 worker 进程两种进程:

master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,

而 worker 进程则一般有多个 (具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方,

下图是我本机上 fpm 的进程情况,

1一个 master 进程,3个 worker 进程:

从 FPM 接收到请求,到处理完毕,其具体的流程如下:

  1. FPM 的 master 进程接收到请求

  2. master 进程根据配置指派特定的 worker 进程进行请求处理,如果没有可用进程,返回错误,这也是我们配合 Nginx 遇到502错误比较多的原因。

  3. worker 进程处理请求,如果超时,返回504错误

  4. 请求处理结束,返回结果

0 0