(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てき网页伺服

[编辑]

まいり

[编辑]

参考さんこう资料

[编辑]
  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).