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