PHP-FPM

首先凌埂,CGI是干嘛的?CGI是為了保證web server傳遞過來的數(shù)據(jù)是標準格式的腕够,方便CGI程序的編寫者逊脯。

web server(比如說nginx)只是內(nèi)容的分發(fā)者优质。比如,如果請求/index.html,那么web server會去文件系統(tǒng)中找到這個文件巩螃,發(fā)送給瀏覽器演怎,這里分發(fā)的是靜態(tài)數(shù)據(jù)。如果現(xiàn)在請求的是/index.php避乏,根據(jù)配置文件爷耀,nginx知道這個不是靜態(tài)文件,需要去找PHP解析器來處理淑际,那么他會把這個請求簡單處理后交給PHP解析器畏纲。Nginx會傳哪些數(shù)據(jù)給PHP解析器呢?url要有吧春缕,查詢字符串也得有吧盗胀,POST數(shù)據(jù)也要有,HTTP header不能少吧锄贼,好的票灰,CGI就是規(guī)定要傳哪些數(shù)據(jù)、以什么樣的格式傳遞給后方處理這個請求的協(xié)議宅荤。仔細想想屑迂,你在PHP代碼中使用的用戶從哪里來的。
當web server收到/index.php這個請求后冯键,會啟動對應的CGI程序惹盼,這里就是PHP的解析器。接下來PHP解析器會解析php.ini文件惫确,初始化執(zhí)行環(huán)境手报,然后處理請求,再以規(guī)定CGI規(guī)定的格式返回處理后的結果改化,退出進程骨坑。web server再把結果返回給瀏覽器艾凯。

CGI是個協(xié)議绪氛,跟進程什么的沒關系楞黄。那fastcgi又是什么呢?

Fastcgi是用來提高程序性能的CGI協(xié)議的改良版句旱。

提高性能阳藻,那么CGI程序的性能問題在哪呢?"PHP解析器會解析php.ini文件前翎,初始化執(zhí)行環(huán)境"稚配,就是這里了。標準的CGI對每個請求都會執(zhí)行這些步驟港华,這明顯會造成浪費。那么Fastcgi是怎么做的呢午衰?首先立宜,F(xiàn)astcgi會先啟一個master(例如php-fpm master 進程)冒萄,解析配置文件,初始化執(zhí)行環(huán)境橙数,然后再啟動多個worker(例如php-fpm 子進程)尊流。當請求過來時,master會傳遞給一個worker灯帮,然后立即可以接受下一個請求崖技。這樣就避免了重復的勞動,效率自然是高钟哥。而且當worker不夠用時迎献,master可以根據(jù)配置預先啟動幾個worker等著;當然空閑worker太多時腻贰,也會停掉一些吁恍,這樣就提高了性能,也節(jié)約了資源播演。這就是fastcgi的對進程的管理冀瓦。

那PHP-FPM又是什么呢?

大家都知道写烤,PHP的解釋器是php-cgi翼闽。php-cgi只是個CGI程序,他自己本身只能解析請求洲炊,返回結果感局,不會進程管理,所以就出現(xiàn)了一些能夠調(diào)度php-cgi進程的程序选浑,比如說由lighthttpd分離出來的spawn-fcgi蓝厌。PHP-FPM也是這樣的一個角色,用來調(diào)度php-cgi古徒,在長時間的發(fā)展后拓提,逐漸得到了大家的認可,也越來越流行隧膘。

PHP-FPM 實現(xiàn)了當php.ini改變后代态,服務的平滑重啟

當php.ini 改變后,php-fpm會根據(jù)新的配置調(diào)起進程疹吃,而舊的進程執(zhí)行完正在進行的工作后將被關閉蹦疑,實現(xiàn)平滑重啟。

fastcgi 和 php-fpm 和 php-cgi 的關系

fastcgi是一個協(xié)議
php-fpm實現(xiàn)了這個協(xié)議
php-cgi解釋php萨驶,同時適應這個協(xié)議的交互接口
而php-fpm調(diào)度php-cgi進程解釋php語言

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末歉摧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叁温,老刑警劉巖再悼,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異膝但,居然都是意外死亡冲九,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門跟束,熙熙樓的掌柜王于貴愁眉苦臉地迎上來莺奸,“玉大人,你說我怎么就攤上這事冀宴∶鸫” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵花鹅,是天一觀的道長氧腰。 經(jīng)常有香客問我,道長刨肃,這世上最難降的妖魔是什么古拴? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮真友,結果婚禮上黄痪,老公的妹妹穿的比我還像新娘。我一直安慰自己盔然,他們只是感情好桅打,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著愈案,像睡著了一般挺尾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上站绪,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天遭铺,我揣著相機與錄音,去河邊找鬼恢准。 笑死魂挂,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的馁筐。 我是一名探鬼主播涂召,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼敏沉!你這毒婦竟也來了果正?” 一聲冷哼從身側(cè)響起炎码,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舱卡,沒想到半個月后辅肾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體队萤,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡轮锥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了要尔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舍杜。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赵辕,靈堂內(nèi)的尸體忽然破棺而出既绩,到底是詐尸還是另有隱情,我是刑警寧澤还惠,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布饲握,位于F島的核電站,受9級特大地震影響蚕键,放射性物質(zhì)發(fā)生泄漏救欧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一锣光、第九天 我趴在偏房一處隱蔽的房頂上張望笆怠。 院中可真熱鬧,春花似錦誊爹、人聲如沸蹬刷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽办成。三九已至,卻和暖如春搂漠,著一層夾襖步出監(jiān)牢的瞬間迂卢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工状答, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冷守,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓惊科,卻偏偏與公主長得像拍摇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子馆截,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容