亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

cig和fast-cgi的關系,fast-cgi和php-cgi、php-fpm、spawn-fcgi的區別和聯系

2019-11-08 01:13:51
字體:
來源:轉載
供稿:網友

cig和fast-cgi的關系,fast-cgi和php-cgi、php-fpm、spawn-fcgi的區別和聯系


首先貼上原版的英文解釋:CGI: CGI, Common Gateway Interface, is a tool for HTTP server to contact with PRograms on other servers, which can be used into any languages with standard input, standard output and environmental variables, such as PHP, Perl, or Tcl. 意思就是:CGI是公共網關接口,是http服務器和其他服務器上的程序交互的工具,只要程序語言提供符合CGI標準的輸入、輸出和環境變量即可,如像php、perl等都可以和http服務器交互。FastCGI: FastCGI is a kind of CGI which is long-live, which will always be running. With FastCGI, it'll take less time t fork(which is a problem of fork-and-execute mode in CGI). In additional, FastCGI also supports for distributed computing.It is also not language related, which is an opened extension of CGI, which is used to keep CGI running in the memory. It's well-known that loading of CGI has been the main reason of low performance.the main process of running FastCGI:Loading the Process Manager of FastCGI when a Web server has booted(IIS ISAPI or Apache Module) The Process Manager of FastCGI will initiate itself to create several CGI processes, which are used to wait for connection of Web servers. When requests from clients have reached the Web server, the Process Manager of FastCGI will select a CGI set up before to connect, whose environmental variables and standard input will be sent to the sub process php-cgi of FastCGI. This sub process will return standard output and error info to the Web server with the same connection. Requests will be finished when it closes the connection. Therefore, FastCGI only set once for parsing php.ini, loading extensions and initiating all the data structures. Because of multi-processes, FastCGI will cost more memory than CGI, whose each process(PHP-CGI) will cost about 7Mb to 25Mb memory. Data from the article: Nginx 0.8x + PHP 5.2.13(FastCGI) is 10 times better than Apache(Edition 6)when 30k connection happens in parallel, 10 Nginx processes will only cost 150Mb Mem(15Mb 10), and 64 PHP-CGI will only cost about 1280Mb(20Mb 64).意思就是: Fast-cgi是一種常駐內存的cgi,用Fast-cgi接口可以花更少的時間起一個進程,類似于設計模式中的原型模式,實例化對象消耗更少的資源,而且Fast-cgi支持分布式計算。 Fast-cgi的進程管理器會初始化自己和一些cgi進程,就是起一個master和幾個worker進程。當客戶端有請求發送到web 服務器上時,Fast-cgi的進程管理器會提前選擇一個cgi進程,并把環境變量和標準輸入發送給Fast-cgi的子進程php-cgi。子進程會返回標準輸出和錯誤信息給web 服務器通過和web服務器之間的連接,當請求結束后子進程會斷開和web服務器之間的連接。 Fast-cgi 僅僅初始化一次對php.ini的解析,僅加載一次擴展和初始化一次所有的數據結構。 由于是多進程的(類似于一個master和幾個worker),Fast-cgi會比cgi消耗更多的內存,每一個php-cgi進程消耗7M~25M的內存。 PHP-CGI: PHP-CGI is one kind of the Process Manager of FastCGI, which is within php itself. The command to boot is as follow: php-cgi -b 127.0.0.1:9000 After changing php.ini, you should reboot PHP-CGI to make the new php.ini work.When a PHP-CGI process is killed, all the PHP code will cannot run.(PHP-FPM and Spawn-FCGI do not have the same problem)意思就是: php-cgi是Fast-cgi進程管理器的一種,是php自帶的,啟動方式如下: php-cgi -b 127.0.0.1:9000 當更改php.ini配置文件后必須重啟php-cgi。結束php-cgi的進程時,所有的php代碼都不能執行。意思就是不能平滑重啟,php-fpm和spawn-fcgi可以平滑重啟。php-fpm: PHP-FPM is another kind of the Process Manager of FastCGI, which can be downloaded here. It's actually a patch for PHP, which is used to integrate the Process Manager of FastCGI into PHP, which should be make into PHP before version 5.3.2. PHP-FPM can be used to control sub processes of PHP-CGI: /usr/local/php/sbin/php-fpm [options] # options # --start: start a fastcgi process of php # --stop: force to kill a fastcgi process of php # --quit: smooth to kill a fastcgi process of php # --restart: restart a fastcgi process of php # --reload: smooth to reload php.ini # --logrotate: enable log files again意思就是: php-fpm是另外一種Fast-cgi的進程管理器,php5.3.2之前是作為php分支中的Fast-cgi進程管理的,需要通過編譯的方式使用,php5.3.2之后已經合并到主干中可以直接使用。Spawn-FCGI: Spawn-FCGI is a general kind of the Process Manager of FastCGI, which is one part of lighttpd.意思就是; spawn-fcgi 是一種通用的fast-cgi的進程管理器,是lighttpd服務器的一部分,不過現在一個是一個獨立的項目。

自己理解

cgi是一種接口標準,fast-cgi是一種更外先進的cgi標準。

php-cgi是php實現的fast-cgi接口標準的進程管理器。但是它不能平滑重啟。

php-fpm只是php之前版本中的一個補丁,也是實現了fast-cgi接口標準?,F在php主干版本中的一部分,可以平滑啟動。

spawn-fcgi 是一個通用的fast-cgi接口,是lighttpd的一部分。

php-fpm和spawn-fcgi 都是php-cgj的進程管理器,不過php-fpm占cup多,內存分布均勻,spawn-fcgi 不占cpu,內存分布不均勻, 總體而言 php-fpm 更為優秀。

cgi接口每次調用就要初始化一次資源,fast-cgi 只初始化一次資源


他人的理解

FASTCGI:WEB服務器與處理程序之間通信的一種協議,是CGI的改進方案。

CGI程序反復加載是CGI性能低下的主要原因,如果CGI程序保持在內存中并接受FastCGI進程管理器調度,則可以提供良好的性能、伸縮性、Fail-Over特性等。

FASTCGI是常駐型的CGI,它可以一直運行,在請求到達時,不會花費時間去fork一個進程來處理。

FastCGI是語言無關的、可伸縮架構的CGI開放擴展,將CGI解釋器進程保持在內存中,以此獲得較高的性能。

一般情況下,FastCGI的整個工作流程是這樣的:

1、Web Server啟動時載入FastCGI進程管理器(IIS ISAPI或Apache Module)2、FastCGI進程管理器自身初始化,啟動多個CGI解釋器進程(可見多個php-cgi)并等待WebServer的連接。3、當客戶端請求到達Web Server時,FastCGI進程管理器選擇并連接到一個CGI解釋器。 Web server將CGI環境變量和標準輸入發送到FastCGI子進程php-cgi。4、FastCGI子進程完成處理后將標準輸出和錯誤信息從同一連接返回Web Server。當FastCGI子進程關閉連接時,請求便告處理完成。FastCGI子進程接著等待并處理來自FastCGI進程管理器(運行在Web Server中)的下一個連接。在CGI模式中,php-cgi在此便退出了。

基本上cgi、fast-cgi、php-cgi、php-fpm、spawn-fcgi的概念、關系、區別就這些吧。

歡迎大家指正、參考、分享。


2017/02/21 15:03


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲va久久久噜噜噜久久天堂| 不卡av在线网站| 国产精品偷伦视频免费观看国产| 日本伊人精品一区二区三区介绍| 色综合伊人色综合网站| 91精品视频在线看| 国产98色在线| 久久久人成影片一区二区三区观看| 国产精品video| 日韩精品在线免费播放| 国内精品美女av在线播放| 91久久精品在线| 97超级碰碰人国产在线观看| 2019中文在线观看| 91精品视频专区| 亚洲视频精品在线| 亚洲**2019国产| 日产精品久久久一区二区福利| 国产精品美女午夜av| 国产美女精品视频免费观看| 精品久久久精品| 久久免费视频网| 亚洲精品一区在线观看香蕉| 欧美激情综合色| 国模视频一区二区三区| 精品亚洲aⅴ在线观看| 精品丝袜一区二区三区| 欧美成人小视频| 91精品国产高清久久久久久91| 91sa在线看| 亚洲最新在线视频| 久久久噜噜噜久久| 欧美亚洲另类制服自拍| 狠狠色噜噜狠狠狠狠97| 国产精品精品一区二区三区午夜版| 九九精品在线观看| 中文字幕自拍vr一区二区三区| 久久精品国产精品| 亚洲白虎美女被爆操| 日韩小视频在线观看| 欧美福利视频网站| 国产成人精品久久亚洲高清不卡| 国产精品欧美一区二区三区奶水| 亚洲自拍小视频免费观看| 日韩精品在线私人| 91久久综合亚洲鲁鲁五月天| 国产精品99久久久久久久久| 中文字幕亚洲欧美日韩高清| xvideos成人免费中文版| 亚洲成人网久久久| 97涩涩爰在线观看亚洲| 久久久av网站| 91成人国产在线观看| 丝袜情趣国产精品| 日韩欧美在线免费| 亚洲成人激情在线| 亚洲国产精品久久| 国产v综合v亚洲欧美久久| 色综合色综合久久综合频道88| 92版电视剧仙鹤神针在线观看| 日韩av手机在线| 国产成人精品a视频一区www| 国产脚交av在线一区二区| 91精品视频大全| 欧美亚洲视频一区二区| 日韩av在线资源| 亚洲精品久久7777777| 中文字幕在线看视频国产欧美| 亚洲人成网7777777国产| 情事1991在线| 成人欧美一区二区三区在线湿哒哒| 国产精品一区二区久久久久| 国产精品永久免费观看| 欧美人与性动交| 一本色道久久综合狠狠躁篇怎么玩| 国产成人精品久久亚洲高清不卡| 国产一区二区三区在线观看视频| 国产精品99久久久久久www| 日韩一二三在线视频播| 日韩专区在线播放| 97在线观看视频| 日韩美女主播视频| 久久天天躁狠狠躁夜夜爽蜜月| 精品国产成人在线| 精品国产精品自拍| 欧美性猛交视频| www.日本久久久久com.| 欧美色图在线视频| 久久99国产综合精品女同| 欧美黑人巨大xxx极品| 日韩成人xxxx| 日韩小视频在线观看| 国产成人精品午夜| 日韩中文娱乐网| 另类天堂视频在线观看| 精品视频在线播放免| 成人春色激情网| 欧美—级高清免费播放| 亚洲视频日韩精品| 午夜精品一区二区三区在线| 久久久综合av| 久久精品国产亚洲精品| 91精品久久久久久久久中文字幕| 国产日本欧美一区二区三区在线| 国产精品久久久久久av福利软件| 国产成一区二区| 中文字幕精品视频| 亚洲欧美日本伦理| 欧美性xxxx18| 欧美一级大胆视频| 欧美人与性动交| 成人网在线免费观看| 亚洲人成电影网站色| 日韩欧美精品网址| 精品久久久久人成| 国产精品久久9| 国产精品av在线| 亚洲午夜精品久久久久久性色| 欧美黑人性生活视频| 97国产成人精品视频| 国产亚洲成av人片在线观看桃| 亚洲综合中文字幕在线观看| 久久99久久久久久久噜噜| 久久精品国产亚洲精品2020| 欧美激情亚洲一区| 国产偷亚洲偷欧美偷精品| 国产精品99导航| 日韩小视频在线| 最近2019中文字幕大全第二页| 欧美精品videos| 亚洲精品成人久久电影| 欧美激情亚洲激情| 亚洲美女自拍视频| 不用播放器成人网| 久久综合免费视频影院| 日韩av网站大全| 色av中文字幕一区| 国产亚洲精品久久久优势| 欧美一级电影免费在线观看| 最近2019中文免费高清视频观看www99| 97视频在线观看亚洲| 88国产精品欧美一区二区三区| 欧美视频在线观看 亚洲欧| 91九色综合久久| 久久精品99国产精品酒店日本| 国产精品夜间视频香蕉| 久久婷婷国产麻豆91天堂| 国产va免费精品高清在线观看| 亚洲毛片在线免费观看| 国产精品草莓在线免费观看| 亚洲欧美国产一区二区三区| 久久久久久91香蕉国产| 亚洲天堂开心观看| 久久精品视频亚洲| 亚洲色图25p| 久久免费视频观看| 4p变态网欧美系列| 欧美日韩激情小视频| 国产色婷婷国产综合在线理论片a| 亚洲福利视频在线| 国色天香2019中文字幕在线观看| 久久久久久成人| 92版电视剧仙鹤神针在线观看| 亚洲石原莉奈一区二区在线观看|