Nginx转发PHP请求流程

Nginx 本身不能直接执行 PHP 脚本,它通过一个叫做 PHP-FPM 的协议网关,将 PHP 文件的请求转发给 PHP 解释器进行处理,最后将处理结果返回给客户端。

整个过程可以分解为以下几个步骤:

  1. 客户端请求:浏览器请求一个 PHP 文件,例如 http://test.com/index.php
  2. Nginx 接收:Nginx 服务器接收到这个请求。
  3. 规则匹配:Nginx 检查自己的配置文件,发现这个请求是针对 .php 文件的。
  4. 转发请求:Nginx 根据配置,通过 FastCGI 协议 将请求和相关参数(如文件路径、请求头等)转发给 PHP-FPM 进程。
  5. PHP-FPM 处理:PHP-FPM 主进程接收到请求,分配一个空闲的 PHP工作进程来处理。
  6. PHP 解释执行:该 PHP 工作进程找到对应的 .php 文件,执行其中的代码。
  7. 返回结果:PHP 进程将执行生成的 HTML 或其他内容,通过 FastCGI 协议返回给 Nginx。
  8. Nginx 响应:Nginx 接收到 PHP 返回的内容,再将其作为 HTTP 响应返回给客户端浏览器。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注