php和nginx怎么實(shí)現(xiàn)交互?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
專(zhuān)注于為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)句容免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。Nginx與PHP交互過(guò)程的7步走(用戶(hù)對(duì)動(dòng)態(tài)PHP網(wǎng)頁(yè)訪問(wèn)過(guò)程)
step1:用戶(hù)將http請(qǐng)求發(fā)送給nginx服務(wù)器(用戶(hù)和nginx服務(wù)器進(jìn)行三次握手進(jìn)行TCP連接)。
step2:nginx會(huì)根據(jù)用戶(hù)訪問(wèn)的URL和后綴對(duì)請(qǐng)求進(jìn)行判斷。
step3:通過(guò)第二步可以看出,用戶(hù)請(qǐng)求的是動(dòng)態(tài)內(nèi)容,nginx會(huì)將請(qǐng)求交給fastcgi客戶(hù)端,通過(guò)fastcgi_pass將用戶(hù)的請(qǐng)求發(fā)送給php-fpm。如果用戶(hù)訪問(wèn)的是靜態(tài)資源呢,那就簡(jiǎn)單了,nginx直接將用戶(hù)請(qǐng)求的靜態(tài)資源返回給用戶(hù)。
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è)新的線(xiàn)程調(diào)用php動(dòng)態(tài)程序解析服務(wù)器。
step6:php會(huì)將查詢(xún)到的結(jié)果返回給nginx。
step7:nginx構(gòu)造一個(gè)響應(yīng)報(bào)文將結(jié)果返回給用戶(hù)。
這只是nginx的其中一種,用戶(hù)請(qǐng)求的和返回用戶(hù)請(qǐng)求結(jié)果是異步進(jìn)行,即為用戶(hù)請(qǐng)求的資源在nginx中做了一次中轉(zhuǎn),nginx可以同步,即為解析出來(lái)的資源,服務(wù)器直接將資源返回給用戶(hù),不用在nginx中做一次中轉(zhuǎn)。
即:Nginx -> FastCGI -> php-fpm -> FastCGI Wrapper -> php解析器
看完上述內(nèi)容,你們掌握php和nginx怎么實(shí)現(xiàn)交互的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!