Nginx與PHP互動過程的7步驟走(使用者對動態PHP網頁存取過程)
step1:使用者將http請求傳送給nginx伺服器(用戶和nginx伺服器進行三次握手進行TCP連線)。
step2:nginx會根據使用者存取的URL和後綴對請求進行判斷。
step3:透過第二步可以看出,使用者要求的是動態內容,nginx會將請求交給fastcgi客戶端,透過fastcgi_pass將使用者的請求傳送給php-fpm。
相關推薦:《php教學》
如果使用者造訪的是靜態資源呢,那就簡單了,nginx直接將使用者要求的靜態資源傳回給用戶。
step4:fastcgi_pass將動態資源交給php-fpm後,php-fpm會將資源轉給php腳本解析伺服器的wrapper。
step5:wrapper收到php-fpm轉過來的請求後,wrapper會產生一個新的執行緒呼叫php動態程式解析伺服器。
step6:php會將查詢到的結果傳回給nginx。
step7:nginx建構一個回應封包將結果傳回給使用者。
這只是nginx的其中一種,用戶請求的和返回用戶請求結果是異步進行,即為用戶請求的資源在nginx中做了一次中轉,nginx可以同步,即為解析出來的資源,伺服器直接將資源回傳給用戶,不用在nginx中做一次中轉。
即:Nginx -> FastCGI -> php-fpm -> FastCGI Wrapper -> php解析器
#以上是php和nginx如何交互的詳細內容。更多資訊請關注PHP中文網其他相關文章!