php和nginx交互實(shí)例講解
Nginx與PHP交互過(guò)程的7步走(用戶對(duì)動(dòng)態(tài)PHP網(wǎng)頁(yè)訪問(wèn)過(guò)程)
- step1:用戶將http請(qǐng)求發(fā)送給nginx服務(wù)器(用戶和nginx服務(wù)器進(jìn)行三次握手進(jìn)行TCP連接)。
- step2:nginx會(huì)根據(jù)用戶訪問(wèn)的URL和后綴對(duì)請(qǐng)求進(jìn)行判斷。
- step3:通過(guò)第二步可以看出,用戶請(qǐng)求的是動(dòng)態(tài)內(nèi)容,nginx會(huì)將請(qǐng)求交給fastcgi客戶端,通過(guò)fastcgi_pass將用戶的請(qǐng)求發(fā)送給php-fpm。如果用戶訪問(wèn)的是靜態(tài)資源呢,那就簡(jiǎn)單了,nginx直接將用戶請(qǐng)求的靜態(tài)資源返回給用戶。
- step4:fastcgi_pass將動(dòng)態(tài)資源交給php-fpm后,php-fpm會(huì)將資源轉(zhuǎn)給php腳本解析服務(wù)器的wrapper。
- step5:wrapper收到php-fpm轉(zhuǎn)過(guò)來(lái)的請(qǐng)求后,wrapper會(huì)生成一個(gè)新的線程調(diào)用php動(dòng)態(tài)程序解析服務(wù)器。
- step6:php會(huì)將查詢到的結(jié)果返回給nginx。
- step7:nginx構(gòu)造一個(gè)響應(yīng)報(bào)文將結(jié)果返回給用戶。
這只是nginx的其中一種,用戶請(qǐng)求的和返回用戶請(qǐng)求結(jié)果是異步進(jìn)行,即為用戶請(qǐng)求的資源在nginx中做了一次中轉(zhuǎn),nginx可以同步,即為解析出來(lái)的資源,服務(wù)器直接將資源返回給用戶,不用在nginx中做一次中轉(zhuǎn)。

即:Nginx -> FastCGI -> php-fpm -> FastCGI Wrapper -> php解析器

以上7個(gè)就是交互的簡(jiǎn)單步驟,感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
相關(guān)文章
php文件操作小結(jié)(刪除指定文件/獲取文件夾下的文件名/讀取文件夾下圖片名)
這篇文章主要介紹了php文件操作方法,包括刪除指定文件、獲取文件夾下的文件名及讀取文件夾下圖片名,涉及php針對(duì)文件與目錄的常用操作技巧,需要的朋友可以參考下2016-05-05
JavaScript實(shí)現(xiàn)滾動(dòng)欄效果的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)滾動(dòng)欄效果的方法,涉及javascript操作html元素實(shí)現(xiàn)滾動(dòng)的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
PHP 執(zhí)行系統(tǒng)外部命令 system() exec() passthru()
PHP作為一種服務(wù)器端的腳本語(yǔ)言,象編寫(xiě)簡(jiǎn)單,或者是復(fù)雜的動(dòng)態(tài)網(wǎng)頁(yè)這樣的任務(wù),它完全能夠勝任。但事情不總是如此,有時(shí)為了實(shí)現(xiàn)某個(gè)功能,必須借助于操作系統(tǒng)的外部程序(或者稱之為命令),這樣可以做到事半功倍。2009-08-08
從Web查詢數(shù)據(jù)庫(kù)之PHP與MySQL篇
PHP+MySQL的組合是構(gòu)建網(wǎng)站的一個(gè)常見(jiàn)搭配,不過(guò)如何使用PHP通過(guò)Web訪問(wèn)MySQL數(shù)據(jù)庫(kù)呢?下面從Web數(shù)據(jù)庫(kù)架構(gòu)的工作原理講起。2009-09-09

