Nginx PHP 執行原理

2021-08-09 14:21:38 字數 1374 閱讀 5058

nginx (「engine x」) 是乙個高效能的http和反向**伺服器,也是乙個imap/pop3/smtp伺服器。

nginx不只有處理http請求的功能,還能做反向**。nginx通過反向**功能將動態請求轉向後端php-fpm。

下面我們來配置乙個全新的nginx+php-fpm

進入nginx目錄下,編輯 nginx.conf檔案。

如圖,在nginx.conf最後一行,新增include檔案

進入上面include的路徑,新增乙個server.

下面我們解釋一下配置項的含義:

server    

#當請求**下php檔案的時候,反向**到php-fpm

location ~ \.php$

}

總而言之:當我們訪問www.example.com的時候,處理流程是這樣的:

www.example.com

|| nginx

||路由到www.example.com/index.php

||載入nginx的fast-cgi模組

||fast-cgi監聽127.0.0.1:9000位址

||www.example.com/index.php請求到達127.0.0.1:9000||

等待處理...

下面我們啟用php的php-fpm來處理這個請求開啟php-fpm.conf檔案,我們看到如下配置:

即:php-fpm模組監聽127.0.0.1:9000埠,等待請求到來去處理。

nginx與php-fpm的結合,完整的流程是這樣的。

www.example.com

|| nginx

||路由到www.example.com/index.php

||載入nginx的fast-cgi模組

||fast-cgi監聽127.0.0.1:9000位址

||www.example.com/index.php請求到達127.0.0.1:9000||

php-fpm 監聽127.0.0.1:9000||

php-fpm 接收到請求,啟用worker程序處理請求

||php-fpm 處理完請求,返回給nginx

||nginx將結果通過http返回給瀏覽器

啟動成功,我們檢視php-fpm程序

如上圖,有乙個master程序,3個worker程序。

nginx php執行請求的工作原理

首先先了解下常聽說的cgi,php cgi,fastcgi,php fpm到底是什麼關係,幫助了解php的工作原理 cgi協議用來確定webserver 例如nginx 也就是內容分發伺服器傳遞過來什麼資料,什麼樣格式的資料 php cgi是php的cgi協議程序直譯器,每次啟動時,需要經歷載入ph...

nginx php執行請求的工作原理

首先先了解下常聽說的cgi,php cgi,fastcgi,php fpm到底是什麼關係,幫助了解php的工作原理 cgi協議用來確定webserver 例如nginx 也就是內容分發伺服器傳遞過來什麼資料,什麼樣格式的資料 php cgi是php的cgi協議程序直譯器,每次啟動時,需要經歷載入ph...

nginx php執行請求的工作原理

首先先了解下常聽說的cgi,php cgi,fastcgi,php fpm到底是什麼關係,幫助了解php的工作原理 cgi協議用來確定webserver 例如nginx 也就是內容分發伺服器傳遞過來什麼資料,什麼樣格式的資料 php cgi是php的cgi協議程序直譯器,每次啟動時,需要經歷載入ph...