成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Nginx、CGI、FastCGI、PHP-CGI、PHP-FPM處理流程

includecmath / 3050人閱讀

摘要:當(dāng)請(qǐng)求過來時(shí),會(huì)傳遞給一個(gè),然后立即可以接受下一個(gè)請(qǐng)求。這樣就避免了重復(fù)的勞動(dòng),效率自然是高。而且當(dāng)不夠用時(shí),可以根據(jù)配置預(yù)先啟動(dòng)幾個(gè)等著,比如,當(dāng)然空閑太多時(shí),也會(huì)停掉一些,這樣就提高了性能,也節(jié)約了資源。這就是的對(duì)進(jìn)程的管理。

對(duì)于cgi fastcgi php-fpm php-cgi的解釋,網(wǎng)上挺多的,可以百度查看,下面是我自己的理解

名詞術(shù)語(yǔ):

1、web服務(wù)器
2、通信協(xié)議
3、進(jìn)程、主進(jìn)程、子進(jìn)程
4、php解析器

CGI:Common Gateway Interface 公共網(wǎng)關(guān)接口,web服務(wù)器和腳本語(yǔ)言通信的一個(gè)標(biāo)準(zhǔn)、
接口、協(xié)議【協(xié)議】

FastCGI:CGI協(xié)議的升級(jí)版【協(xié)議】

PHP-CGI: 實(shí)現(xiàn)了CGI接口協(xié)議的PHP腳本解析器【程序】

PHP-FPM: 管理和調(diào)度php-cgi進(jìn)程,進(jìn)而實(shí)現(xiàn)了FastCGI接口協(xié)議的程序【程序】
webserver只能處理靜態(tài)文件,對(duì)于php這樣的動(dòng)態(tài)腳本無(wú)能為力,只能交給php自己來處理,
于是有了下面這個(gè)流程:

       
但是上面架構(gòu)有個(gè)性能問題,CGI對(duì)每個(gè)請(qǐng)求會(huì)parse一遍對(duì)應(yīng)腳本的配置文件(如php.ini),
加載配置和擴(kuò)展,初始化執(zhí)行環(huán)境,性能非常差,所有有了下面的流程:

那么實(shí)現(xiàn)Fastcgi協(xié)議的程序,如PHP-FPM是怎么做的呢?首先,F(xiàn)astcgi會(huì)先啟一個(gè)master進(jìn)程,解析配置文件,初始化執(zhí)行環(huán)境,然后再啟動(dòng)多個(gè)worker進(jìn)程,這個(gè)worker就是php-cgi。當(dāng)請(qǐng)求過來時(shí),master會(huì)傳遞給一個(gè)worker,然后立即可以接受下一個(gè)請(qǐng)求。這樣就避免了重復(fù)的勞動(dòng),效率自然是高。而且當(dāng)worker不夠用時(shí),master可以根據(jù)配置預(yù)先啟動(dòng)幾個(gè)worker等著,比如20worker,當(dāng)然空閑worker太多時(shí),也會(huì)停掉一些,這樣就提高了性能,也節(jié)約了資源。這就是fastcgi的對(duì)進(jìn)程的管理。

下面是php-fpm配置文件里面的對(duì)worker數(shù)量的配置項(xiàng):

; The maximum number of processes FPM will fork. This has been design to control
; the global number of processes when using dynamic PM within a lot of pools.
; Use it with caution.
; Note: A value of 0 indicates no limit
; Default Value: 0
; process.max = 128

那么最大的worker進(jìn)程數(shù)就是128

更多的對(duì)FastCGI的解釋

    fastcgi是基于cgi架構(gòu)的擴(kuò)展,他的核心思想就是在web server和具體cgi程序之間建立一個(gè)智能的可持續(xù)的中間層,統(tǒng)管cgi程序的運(yùn)行,這樣web server只需要將請(qǐng)求提交給這個(gè)層,這個(gè)層再派生出幾個(gè)可復(fù)用的cgi程序?qū)嵗?,然后再把?qǐng)求分發(fā)給這些實(shí)例,這些實(shí)例是可控的,可持續(xù),可復(fù)用的,因此一方面避免了進(jìn)程反復(fù)fork,另一方面又可以通過中間層的控制和探測(cè)機(jī)制來監(jiān)視這些實(shí)例的運(yùn)行情況,根據(jù)不同的狀況fork或者回收實(shí)例,達(dá)到靈活性和穩(wěn)定性兼得的目的。

參考文檔

https://segmentfault.com/q/1010000000256516

http://blog.csdn.net/zhuanshenweiliu/article/details/46413241

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21444.html

相關(guān)文章

  • NginxCGI、FastCGI、PHP-CGI、PHP-FPM處理流程

    摘要:當(dāng)請(qǐng)求過來時(shí),會(huì)傳遞給一個(gè),然后立即可以接受下一個(gè)請(qǐng)求。這樣就避免了重復(fù)的勞動(dòng),效率自然是高。而且當(dāng)不夠用時(shí),可以根據(jù)配置預(yù)先啟動(dòng)幾個(gè)等著,比如,當(dāng)然空閑太多時(shí),也會(huì)停掉一些,這樣就提高了性能,也節(jié)約了資源。這就是的對(duì)進(jìn)程的管理。 對(duì)于cgi fastcgi php-fpm php-cgi的解釋,網(wǎng)上挺多的,可以百度查看,下面是我自己的理解 名詞術(shù)語(yǔ): 1、web服務(wù)器 2、通信協(xié)議 ...

    YorkChen 評(píng)論0 收藏0
  • nginx+php執(zhí)行請(qǐng)求的工作原理

    摘要:工作原理首先先了解下常聽說的,,,到底是什么關(guān)系,幫助了解的工作原理協(xié)議協(xié)議用來確定例如,也就是內(nèi)容分發(fā)服務(wù)器傳遞過來什么數(shù)據(jù),什么樣格式的數(shù)據(jù)進(jìn)程解釋器是的協(xié)議進(jìn)程解釋器,每次啟動(dòng)時(shí),需要經(jīng)歷加載文件初始化執(zhí)行環(huán)境處理請(qǐng)求返 php工作原理 首先先了解下常聽說的cgi,php-cgi,fastcgi,php-fpm到底是什么關(guān)系,幫助了解php的工作原理 cgi協(xié)議 cgi協(xié)議用來確...

    Cympros 評(píng)論0 收藏0
  • nginx+php執(zhí)行請(qǐng)求的工作原理

    摘要:工作原理首先先了解下常聽說的,,,到底是什么關(guān)系,幫助了解的工作原理協(xié)議協(xié)議用來確定例如,也就是內(nèi)容分發(fā)服務(wù)器傳遞過來什么數(shù)據(jù),什么樣格式的數(shù)據(jù)進(jìn)程解釋器是的協(xié)議進(jìn)程解釋器,每次啟動(dòng)時(shí),需要經(jīng)歷加載文件初始化執(zhí)行環(huán)境處理請(qǐng)求返 php工作原理 首先先了解下常聽說的cgi,php-cgi,fastcgi,php-fpm到底是什么關(guān)系,幫助了解php的工作原理 cgi協(xié)議 cgi協(xié)議用來確...

    tuomao 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<