php和nginx交互實(shí)例講解
Nginx與PHP交互過程的7步走(用戶對(duì)動(dòng)態(tài)PHP網(wǎng)頁訪問過程)
- step1:用戶將http請(qǐng)求發(fā)送給nginx服務(wù)器(用戶和nginx服務(wù)器進(jìn)行三次握手進(jìn)行TCP連接)。
- step2:nginx會(huì)根據(jù)用戶訪問的URL和后綴對(duì)請(qǐng)求進(jìn)行判斷。
- step3:通過第二步可以看出,用戶請(qǐng)求的是動(dòng)態(tài)內(nèi)容,nginx會(huì)將請(qǐng)求交給fastcgi客戶端,通過fastcgi_pass將用戶的請(qǐng)求發(fā)送給php-fpm。如果用戶訪問的是靜態(tài)資源呢,那就簡單了,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)過來的請(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可以同步,即為解析出來的資源,服務(wù)器直接將資源返回給用戶,不用在nginx中做一次中轉(zhuǎn)。
即:Nginx -> FastCGI -> php-fpm -> FastCGI Wrapper -> php解析器
以上7個(gè)就是交互的簡單步驟,感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
相關(guān)文章
php 啟動(dòng)時(shí)報(bào)錯(cuò)的簡單解決方法
php啟動(dòng)時(shí)報(bào)錯(cuò)的情況,想必很多朋友都有遇到吧,下面為大家介紹下比較不錯(cuò)的解決方法2014-01-01php刪除與復(fù)制文件夾及其文件夾下所有文件的實(shí)現(xiàn)代碼
最近寫代碼,需要個(gè)復(fù)制文件夾與及其文件夾下所有文件的功能,有時(shí)候需要?jiǎng)h除,就可以用這個(gè)函數(shù)了,通過xcopy與deldir的自定義函數(shù),確實(shí)方便多了,特分享下2013-01-01php 用sock技術(shù)發(fā)送郵件的函數(shù)
php 用sock技術(shù)發(fā)送郵件的函數(shù)...2007-07-07在WAMP環(huán)境下搭建ZendDebugger php調(diào)試工具的方法
一直以來,寫php都是用Dreamweaver,有時(shí)候真是痛苦啊,出現(xiàn)一個(gè)bug,想看一些元素的值,必須用echo輸出來才知道,現(xiàn)在了解到一個(gè)斷點(diǎn)調(diào)試?yán)鳎琾hp終于也能像java、.NET那樣斷點(diǎn)調(diào)試,這就是——ZendDebugger2011-07-07