【发布时间】:2019-04-01 14:22:21
【问题描述】:
我的 PHP-FPM 以用户 www-data 运行,Nginx 服务器以用户 nginx 运行。我正在尝试浏览用 php 编写的文件,例如 example.com/index.php。
那么当 php-fpm 在拥有进程 Nginx 或 php-fpm 的服务器中执行 index.php 时呢?
我在某处读过 Nginx 将 php 文件传递给 fast-cgi 服务器,fast-cgi 服务器运行 php 文件并生成 HTML 内容并发送回 NGINX,NGINX 再次发送回浏览器。
所以在我看来,Nginx 是 fast-cgi 进程的父进程,Nginx 应该是该进程的所有者。如果我错了,请纠正我。
Update-1(如果我的假设成立,还有一些问题)
1- 为什么人们更关心应该给予 NGINX 用户什么权限而不是 PHP-FPM 用户?这是我的一个相关问题https://unix.stackexchange.com/questions/477389/is-it-okay-to-give-permission-of-rwx-to-my-php-user-outside-of-web-root
2- Nginx 确定这是一个 PHP 文件后,将其提供给 PHP 解释器。 “给予”是什么意思? nginx 进程是否调用 php 进程并传递“文件路径”?还是 Nginx 本身访问该 php 文件的内容并将每个代码逐行发送到 PHP-FPM ? Nginx 以哪种格式接收来自 php 解释器的输出?它会生成一个临时的 html 文件吗?
【问题讨论】:
标签: php apache web nginx server