首頁 >後端開發 >php教程 >cgi、fast-cgi、php-fpm的關係(附流程圖)

cgi、fast-cgi、php-fpm的關係(附流程圖)

藏色散人
藏色散人轉載
2022-10-08 14:07:113385瀏覽

cgi、fast-cgi、php-fpm的關係(附流程圖)

首先我們來講CGI

  • #cgi 是協議,跟進程無關,例如web server (nginx) 接收到一個php 的網路請求,此時nginx 需要根據設定文件,去找php 的解析器,經過簡單處理,將請求的一些資訊交給php 解析器,此時就規定了要傳那些協議,還有以什麼樣的格式傳輸,這個標準就叫做cgi 協議

  • php 解釋是實現了這個協議的cgi 程序,nginx 將這些內容交給php解釋器後,讀取php.ini 等初始化環境,然後處理數據,最終轉換成符合這個協議的數據流交給nginx, 最終返回給瀏覽器【推薦:PHP視頻教程

fast-cgi 管理cgi 程式

  • #fast-cgi 是常駐程序的程序,與cgi 為每個web 請求建立一個進程不同的是,fast-cgi 在web server 啟動的時候會同時啟動多個cgi 程序,這樣當進來動態頁面請求的時候,就可以將資料流交由fast-cgi 進程管理器,這樣做的好處就是web server 可以處理更多的請求,並且解析php.ini 這些工作只進行一次,提高回應速度,

##圖示如下

cgi、fast-cgi、php-fpm的關係(附流程圖)

php-fpm 管理cgi 程式

  • #首先php-fpm 是將fast-cgi 整合之後加入一些新功能的產物,由於web server 提供的fast-cgi 程式進行管理php-cgi 時有著諸多的缺點,例如修改了php.ini 的設定文件,必須要重啟web server 才能使其生效(php-cgi 不能平滑的啟動,殺死php-cgi 時php 就無法正常的工作),使用php-fpm 時就能解決這些問題

此時的流程圖如下

cgi、fast-cgi、php-fpm的關係(附流程圖)

以上是cgi、fast-cgi、php-fpm的關係(附流程圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除