繁体   English   中英

通过Nginx和php-fpm处理php文件时,谁拥有该进程? NGINX还是PHP-FPM?

[英]When a php file is processed via Nginx & php-fpm, who owns the process ? NGINX or PHP-FPM?

我的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 -根

2-Nginx确定这是一个PHP文件后,将其提供给PHP解释器。 “赠予”是什么意思? Nginx进程会调用php进程并传递“文件路径”吗? 还是Nginx本身访问该php文件的内容,并将每个代码逐行发送到PHP-FPM? Nginx以哪种格式从php解释器接收输出? 它会生成一个临时的html文件吗?

是的,你是对的afaik。 请参考这个网站:

https://stillat.com/blog/2014/04/02/how-does-php-work-with-the-web-server-and-browser

其中包含这张简单的图片,演示了带有解释器(PHP)的Web服务器(Apache / NginX等)之间如何工作

你可能会问,我要PHP-FPM! 嗯,在这种情况下并不重要。

PH-FPM代表:PHP Fast Process Manager是用于PHP脚本和应用程序的Fast-CGI处理程序。

因此,Web服务器和php之间的优先级将相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM