(Translated by https://www.hiragana.jp/)
FastCGI - 维基百科,自由的百科全书 とべ转到内容ないよう

FastCGI

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん

快速かいそく通用つうよう网关せっこうFast Common Gateway Interface/FastCGI一种让交互程序与Webふく务器通信つうしんてき协议。FastCGI早期そうき通用つうよう网关せっこう(CGI)てき增強ぞうきょう版本はんぽん

FastCGI致力於減少げんしょうあみぺーじ伺服あずかCGIほどしきこれあいだ互動てきひらき銷,したがえ而使伺服以同處理しょりさらてきもうぺーじ請求せいきゅう

歷史れきし

[编辑]

通用つうよう网关せっこう协议(CGI)一种对接应用程序和网络服务器的接口协议。CGI使外部がいぶほどしきあずかWeb伺服あいだ交互こうごなりため可能かのう。CGIほどしき運行うんこうざい獨立どくりつてきしんほどちゅうなみたいまいWeb請求せいきゅう建立こんりゅういちすすむほど,這種方法ほうほう非常ひじょう容易ようい實現じつげんただし效率こうりつ较差,なん以擴てん

CGIほどしき運行うんこうざい獨立どくりつてきしんほどちゅうなみたいまいWeb請求せいきゅう建立こんりゅういちすすむほどざい结束时销毁。这种“まい个请もとめいち个新进程”てき模型もけい使とくCGIほどじょ非常ひじょう容易ようい實現じつげんただし效率こうりつ较差,なん以擴てん在高ありだか负载じょう况下,进程创建销毁进程てき开销变得很大。此外,ゆかり於地空間くうかん無法むほうどもとおる,CGI进程模型もけいげんせいりょう资源重用じゅうよう方法ほうほう,如重用じゅうようすうすえ库连せっうちそん缓存とう

了解りょうかい决CGIてきしん缩性缺点けってんOpen MarketえいOpen Market开发りょうFastCGI,并在20せい纪90年代ねんだいちゅう期首きしゅざい们的网络ふく务器产品ちゅう引入りょう它。Open Market最初さいしょ开发FastCGIてき部分ぶぶん原因げんいんさく为对网景公司こうし开发网络应用ほどじょてき专有、进程ないAPI(网景ふく务器API)てき竞争かい应。

虽然FastCGI最初さいしょよしOpen Market开发てきただしきさき其他几家网络ふく务器せいづくりしょう实施。しか而,它的方法ほうほうあずか其他加速かそく简化ふく务器-ほどじょ通信つうしんてき方法ほうほうしょう竞争。ぞうmod_perlmod_php这样てきApache HTTPふく务器块几乎是どう时出现的,并且很快流行りゅうこうおこりらい。截至2019ねん包括ほうかつCGIざい内的ないてき所有しょゆう这些不同ふどう方法ほうほう仍在普遍ふへん使用しよう

實現じつげん

[编辑]

あずか为每个请もとめ创建一个新的进程不同,FastCGI使用しよう续的进程らい处理いち连串てき请求。这些进程よしFastCGIふく务器管理かんり,而不webふく务器。[1]

とう进来一个请求时,webふく务器环境变量かず这个页面请求どおり过一个socket如FastCGI进程あずかwebふく务器(于本あるものいちTCP 请求(FastCGI进程ざい远端てきserver farm)传递给FastCGI进程。[1]

ふく务传にゅう请求时,网络ふく务器どおりUnixいき套接命名めいめいかんどうあるTCP连接こうFastCGI进程发送环境变量しんいき页面请求。响应どおり过相どうてき连接从进ほどかえしかいいた网络ふく务器,しかきさき网络ふく务器はた该响应传递给さい终用户。连接可能かのうざい响应结束时关闭,ただしwebふく务器FastCGIふく务进ほどみやこすすむ续,かい销毁。[2]

まい个单どくてきFastCGI进程ざい其生いのち周期しゅうきない以处许多请求,从而避免りょうまい个请もとめ进程创建终止てき开销。并发处理个请もとめ以通过几种方しきらい完成かんせい:つう过内复用使用しよういち个连せっ(そく一个连接上的多个请求);どおり使用しよう个连せっあるものどおり过这些方法的ほうてき混合こんごう配置はいち个FastCGIふく务器,ひさげだか稳定せい扩展せい

优点

[编辑]

网站管理かんり员和ほどじょ员可以发现,ざいFastCGI中将ちゅうじょう网络应用ほどじょあずか网络ふく务器ぶん离比嵌入かんにゅうしきかい释器(mod_perl、mod_phpとう)ゆう许多优点。这种ぶん离允许服务器应用ほどじょ进程独立どくりつじゅう启——这是繁忙はんぼう网站てき一个重要考虑因素。它还のう够实现每个应ようほどじょてきたくかんふく务安ぜん策略さくりゃく,这是对ISPs网络たくかん公司こうしてきいち个重よう要求ようきゅう[3]不同ふどう类型てき传入请求以分发到特定とくていてきFastCGIふく务器,这些ふく务器やめ配置はいち为高こう处理这些类型てき请求。

实现FastCGIてきもうぺーじ伺服

[编辑]
  • Apache HTTP Server (部分ぶぶん)
    • 通過つうかmod_fcgidかたぎかたまり實現じつげん。這個かたまり曾屬於第さんぽうただしざい2009ねん授予ASFなりためApacheてきいち項目こうもく[4]。它只支持しじUnixいき套接支持しじTCP套接[5]
    • 一個較早的第三方模塊 mod_fastcgiただし这个块从Apache 2.4.x 开始就不さい一同いちどう编译りょう[6] 虽然这个块相关的bug就被かい决了。[7]
    • Apache 1.x ざい设计じょう禁止きんしみち复用单个连接接收せっしゅう请求[8]いん此Aapache 1.x支持しじてき
    • ざい Aapache 2.4 ちゅう添加てんかりょうしんてきmod_proxy_fcgiかたぎ块,支持しじTCP FastCGIふく务器。
  • Caddy[9]
  • Cherokee HTTP Server
  • Hiawatha WebserverえいHiawatha_(web_server)
    • 支持しじFastCGIてきまけ平衡へいこう
    • 支持しじchrooted FastCGI 伺服
  • Lighttpd[10]
  • Nginx[11]
  • LiteSpeed Web Server
  • Microsoft IIS
  • Jetty[12]
  • Kerio WebSTAR
  • OpenBSD てき httpd(8)[13]
  • Open Market 网络ふく务器

まいり

[编辑]

参考さんこう资料

[编辑]
  1. ^ 1.0 1.1 FastCGI Specification. Open Market, Inc. 1996 [2020-03-24]. (原始げんし内容ないようそん于2016-01-19).  |url-status=|dead-url=ただ需其いち (帮助)
  2. ^ FastCGI:A High-Performance Web Server Interface. Open Market, Inc. 1996 [2020-03-24]. (原始げんし内容ないようそん于2010-10-01).  |url-status=|dead-url=ただ需其いち (帮助)
  3. ^ Heinlein, Paul. FastCGI: Persistent Applications for Your Web Server. Linux Journal. 1 November 1998 [4 October 2010]. (原始げんし内容ないようそん于2020-03-24). 
  4. ^ FastCGI apache module mod_fcgid. [2020-03-24]. (原始げんし内容ないようそん于2020-03-28). 
  5. ^ Debian bug #450748: Please add support for TCP/IP FastCGI servers. [2020-03-24]. (原始げんし内容ないようそん于2020-05-28). 
  6. ^ Issues with Apache 2.4 and PHP-FPM. [2012-03-27]. (原始げんし内容ないようそん于2012-03-27). 
  7. ^ libapache-mod-fastcgi on Github. [2020-03-24]. (原始げんし内容ないようそん于2020-05-28). 
  8. ^ FastCGI – The Forgotten Treasure/ Section 2.3.. [2006-02-21]. (原始げんし内容ないようそん档于2010-02-08). 
  9. ^ Caddy User Guide – FastCGI. [2020-03-24]. (原始げんし内容ないようそん于2019-07-01). 
  10. ^ FastCGI for Lighttpd. [2020-03-24]. (原始げんし内容ないようそん于2008-12-05). 
  11. ^ FastCGI Extension for IIS6.0 – RTM. FastCGI for IIS. Microsoft. 2008-02-28 [2008-02-29]. (原始げんし内容ないようそん于2007-11-14). 
  12. ^ FastCGI Support in Jetty. [2020-03-24]. (原始げんし内容ないようそん于2020-03-24). 
  13. ^ OpenBSD's httpd(8) initial commit. [2020-03-24]. (原始げんし内容ないようそん于2020-05-28).