您好,登錄后才能下訂單哦!
這篇文章主要介紹“cgi、fast-cgi、php-fpm的關系是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“cgi、fast-cgi、php-fpm的關系是什么”文章能幫助大家解決問題。
首先我們來講 CGI
cgi 是一個協議,跟進程無關,比如說 web server (nginx) 接收到一個 php 的網絡請求,此時 nginx 需要根據配置文件,去找 php 的解析器,經過簡單處理,將請求的一些信息交給 php 解析器,此時就規定了要傳那些協議,還有以什么樣的格式傳輸,這個標準就叫做 cgi 協議
php 解釋是實現了這個協議的 cgi 程序,nginx 將這些內容交給 php 解釋器后,讀取 php.ini 等初始化環境,然后處理數據,最終轉換成符合這個協議的數據流交給 nginx, 最終返回給瀏覽器
fast-cgi 管理 cgi 程序
fast-cgi 是一個常駐進程的程序,與 cgi 為每個 web 請求建立一個進程不同的是,fast-cgi 在 web server 啟動的時候會同時啟動多個 cgi 程序,這樣當進來動態頁面請求的時候,就可以將數據流交由 fast-cgi 進程管理器,這樣做的好處就是 web server 可以處理更多的請求,并且解析 php.ini 這些工作只進行一次,提高響應速度,
圖示如下
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的關系是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。