关于Python的WSGI,CGI,FastCGI和mod_python之间的差异和用法?

我只是想知道不同的CGI的差异和优势。 哪一个是最好的python脚本,以及如何告诉脚本使用什么?

一个部分回答你的问题,包括scgi。

  • scgi和wsgi有什么区别?
  • WSGI和FCGI有速度差吗?
  • Python Web框架,WSGI和CGI如何组合在一起

CGI vs FCGI

懒惰,不写我自己的。 从维基百科: http : //en.wikipedia.org/wiki/FastCGI

FastCGI不是为每个请求创build一个新的进程,而是使用持久化进程来处理这样的请求。 可以configuration多个进程,增加稳定性和可伸缩性。 每个单独的FastCGI进程可以在其整个生命周期内处理多个请求,从而避免了每个请求进程创build和终止的开销

还有一个很好的CGI,WSGI和其他选项的背景知识,以官方的Python HOWTO的forms: http : //docs.python.org/howto/webservers.html

在像Django这样的项目中,您可以使用Flup模块的WSGI( Web服务器网关接口 )服务器。

WSGI服务器使用一个或多个协议来封装后端进程:

  • FastCGI (调用服务器进程)
  • SCGI( 简单的通用网关接口 – 一个更简单的FastCGI)
  • AJP( Apache JServ协议 – 一个Java FastCGI)
  • mod_python (每个请求运行预先加载的代码 – 使用大量的RAM)
  • CGI( 通用网关接口 ,每个请求启动一个进程 – 慢)
  • FastCGI是一种长期运行的CGI,它会一直运行。
  • 使用FastCGI,它将花费更less的时间。
  • 由于多进程,FastCGI将花费比CGI更多的内存。

详细介绍FastCGI与CGI之间的差异