簡體   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