摘要:概念全稱是通用網關接口,服務器與應用進行交談的一種工具,其程序須運行在網絡服務器上。開啟之后,會看到多個進程,它們都由管理。一些進步修改配置后,平滑過渡,新的進程使用新的配置,正在運行的進程處理完當前請求后自動。
CGI(Common Gateway InterFace)
既然webserver想把這個請求交給可以處理的人來做,是不是該告訴人家一些基本的,并且人家看得懂的信息信息?
Webserver會傳那些基本信息給后端處理請求的解析器呢?url,get請求的query_string,POST數據,Http Header等,那么CGI就規定了要傳哪些參數,以及以一個什么樣的格式傳過去,后端處理完這個請求,又該以什么樣的格式傳回。
概念:CGI(Common Gateway Interface)全稱是“通用網關接口”,WEB 服務器與PHP應用進行“交談”的一種工具,其程序須運行在網絡服務器上。CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變量。也就是說,CGI用來在web服務器與后端實現了CGI協議的程序之間提供一個溝通的橋梁,降低兩者之間的耦合性。
缺陷:采用了效率低下的”FE”模式,就是Fork-And-Execute,每個web請求進來之后,都會啟動一個php程序,處理完請求后退出,浪費資源,高請求數下,服務器宕機。
FastCGI
有沒有效率更高的解決辦法呢,可以不可一完事先別走呢?
這就衍生出了FastCGI,也可以理解為一種協議,在CGI協議上進行強化,從原來的”FE”模式進化為”LL”模式,即Long-Live模式,運行完畢之后,常駐內存。同樣,它也是語言無關性的,只要你具有標準輸入輸出和環境變量,那么就OK。
FastCGI會先啟動一個Master進程,Master讀取和處理基礎的配置文件,初始化環境,之后依據配置生成多個worker進程來處理請求。并且可以動態調整worker的數量。
PHP-CGI
Fast-cgi聽起來很不錯,有沒人用用它的呀?php-cgi是實現FastCGI協議的php解釋器。
缺陷:
更改php.ini配置后需要重啟php-cgi進程,且會殺死正在運行的進程。
單進程,不具備進程管理能力,效率很低。
PHP-FPM
概念:一個實現FastCGI多進程(進程池)管理的管理器。開啟之后,會看到多個php-cgi進程,它們都由php-fpm管理。
一些進步:
修改配置后,平滑過渡,新的worker進程使用新的配置,正在運行的worker進程處理完當前請求后自動shutdown。多進程的效率比單進程更高。
轉載來源:http://lib.csdn.net/article/p...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30194.html
摘要:原理啟動時載入進程管理器或進程管理器自身初始化,啟動多個解釋器進程可見多個并等待來自的連接。當客戶端請求到達時,進程管理器選擇并連接到一個解釋器。子進程接著等待并處理來自進程管理器運行在中的下一個連接。 CGI 簡介 CGI全稱是通用網關接口(Common Gateway Interface),是外部應用程序與與服務器之間的接口標準,是在CGI程序和web服務器之間傳遞信息的規程。 在...
摘要:通過或在服務器上運行時可以使用的可執行文件,可以理解為解釋器也有說是官方的進程管理器,至于是什么文章后面再分析,這里就當作解釋器。就是為了解決的問題,制定的協議。 一個模糊的概念 無論是php,python編程語言,還是apache,nginx服務器對于cgi協議是個繞不開的話題。安裝,部署都會經常的看到,那么它們到底是干什么的,網上的答案非常的多!今天通過它們進行一波匯總,徹底告別這...
摘要:通過或在服務器上運行時可以使用的可執行文件,可以理解為解釋器也有說是官方的進程管理器,至于是什么文章后面再分析,這里就當作解釋器。就是為了解決的問題,制定的協議。 一個模糊的概念 無論是php,python編程語言,還是apache,nginx服務器對于cgi協議是個繞不開的話題。安裝,部署都會經常的看到,那么它們到底是干什么的,網上的答案非常的多!今天通過它們進行一波匯總,徹底告別這...
摘要:通過或在服務器上運行時可以使用的可執行文件,可以理解為解釋器也有說是官方的進程管理器,至于是什么文章后面再分析,這里就當作解釋器。就是為了解決的問題,制定的協議。 一個模糊的概念 無論是php,python編程語言,還是apache,nginx服務器對于cgi協議是個繞不開的話題。安裝,部署都會經常的看到,那么它們到底是干什么的,網上的答案非常的多!今天通過它們進行一波匯總,徹底告別這...
摘要:通過,腳本層無需過多考慮執行的具體環境,而本身則可以讓針對自己的特點給出特有實現。模式下,也只執行一次。這幾個概念的關系如下網關協議,與語言無關,所以與關系也不大。總結本文簡要回顧了程序的架構和執行流程,并對幾個容易混淆概念做了介紹。 轉載請注明文章出處:https://tlanyan.me/php-review... PHP回顧系列目錄 PHP基礎 web請求 cookie we...
閱讀 2434·2021-10-11 10:57
閱讀 1285·2021-10-09 09:59
閱讀 2000·2019-08-30 15:53
閱讀 3217·2019-08-30 15:53
閱讀 1014·2019-08-30 15:45
閱讀 742·2019-08-30 15:44
閱讀 3450·2019-08-30 14:24
閱讀 956·2019-08-30 14:21