nginx與PHP的關係和交互方式

編程語言 Nginx PHP Apache 鵬博網客 鵬博網客 2017-09-18

nginx與PHP的關係.

對比, apache和PHP的關係, 將PHP安裝成apache的一個功能模塊, 導致的結果, 對外只有一個apache程序, PHP並不獨立出現, 僅僅是apache的模塊. 修改php的配置, 重啟apache才能生效.

但是, nginx與PHP, 不是模塊的關係. 是相互獨立交互的關係.

當nginx接收到瀏覽器的的http請求後, 將請求在轉發給PHP進行處理. 在nginx與PHP間也存在一種網絡交互.

通常: PHP的會在9000端口進行監聽, 當nginx有請求需要處理時, 將請求在轉發到PHP的9000端口上.

如圖所示:

nginx與PHP的關係和交互方式

fastCGI, 高速通用網關接口, fast Common GateWay Interface. 是最通用的web服務器與應用程序間的通訊方式. 例如, 任何的web服務器, 與 任何應用程序之間都可以採用FastCGI的方式通訊. 例如, iis(windows上的常用的web服務器)與PHP交互時, 就是fastCGI.

而將PHP安裝為apache的模塊, 是apache與PHP之間特殊處理.

當nginx接收到瀏覽器請求時, 使用fastCGI方式, 與PHP交互.

同樣PHP需要管理這些文本服務器發送的過來的基於fastCGI的請求, PHP使用: FPM來進行管理. 就是 FastCGI 進程管理(FasctCGI Process Manage).

nginx與PHP的關係和交互方式

nginx轉發.php文件處理,到PHP的FPM上

修改nginx的配置文件完成:

conf/nginx.conf

nginx與PHP的關係和交互方式

修改配置後,記得重啟Nginx

nginx -s reload

nginx與PHP的關係和交互方式

相關推薦

推薦中...