Nginx 是否需要访问 php 文件

Nginx 是否需要访问 php 文件

如果使用 nginx + php-fpm,nginx 是否需要访问 php 文件?

背景:搭建一个 kuberentes pod,有两个容器:nginx 和 php-fpm,我们可以将 php 代码构建到 php-fpm 容器中。可以使用卷共享 php 文件,但这真的有必要吗?

请纠正我的理解:nginx 只会将预处理的请求转发给 php-fpm(使用 fast-cgi 协议),然后 php-fpm 将执行该脚本。因此 php-fpm 需要读取 php 文件。但是,除了检查是否找到脚本之外,我不明白 nginx 为什么需要这样做。它可以将脚本名称发送给 php-fpm,而无需访问 php 文件。

谢谢

答案1

不,除非您使用,否则它不需要访问文件try_files。您可以安全地使用远程套接字作为上游,而无需填充 nginx 容器上的文件。php-fpm 使用 fcgi 协议,该协议将要处理的文件的路径作为 SCRIPT_NAME 和 SCRIPT_FILENAME fcgi 参数传递。

答案2

在标准nginxphp-fpm设计中try_files检查文件是否存在,然后通过php-fpmTCP/IP 或 unix 套接字发送文件路径进行执行,因此nginx需要能够看到该文件 -nginx文件服务器是否是静态 html 文件或脚本,php-fpm在这种情况下是处理器。

相关内容