【问题标题】:Differences and uses between WSGI, CGI, FastCGI, and mod_python in regards to Python?WSGI、CGI、FastCGI 和 mod_python 在 Python 方面的区别和用途?
【发布时间】:2011-04-25 15:10:50
【问题描述】:

我只是想知道不同 CGI 的区别和优势是什么。哪一个最适合 python 脚本,我将如何告诉脚本使用什么?

【问题讨论】:

  • mod_wsgi 更快吗?我现在的服务器使用CGI,有什么理由切换?
  • 我们无法告诉您 mod_wsgi 在您的环境中是否会更快。您必须在您的环境中使用您的约束、您的应用程序和您的配置来实际测量它们。
  • mod_wsgi 仅适用于 Apache。 2012年还是最流行的吗?

标签: python cgi fastcgi wsgi mod-python


【解决方案1】:

您的问题的部分答案,包括 scgi。

CGI 与 FCGI

懒惰,没有自己写。来自维基百科:http://en.wikipedia.org/wiki/FastCGI

FastCGI 不是为每个请求创建一个新进程,而是使用持久进程来处理此类请求。可以配置多个进程,增加稳定性和可扩展性。每个单独的 FastCGI 进程可以在其生命周期内处理许多请求,从而避免每个请求进程创建和终止的开销

【讨论】:

  • 有一个 FastCGI 标准输入输出库 (marcos),可以让您制作一个能够同时作为 CGI 和 FastCGI 应用程序运行的程序:fastcgi.com/devkit/doc/fastcgi-prog-guide/ap_guide.htm
  • 关于 FastCGI 的问题:当 PHP 本身是阻塞语言时,它如何处理与一个进程的同时连接?如果我有一些东西 "sleep(100)" 怎么办。它不会阻止其他用户的进程吗?谢谢
【解决方案2】:

还有一个很好的 CGI、WSGI 和其他选项的背景阅读器,以官方 python HOWTO 的形式:http://docs.python.org/2/howto/webservers.html

【讨论】:

【解决方案3】:

在像Django 这样的项目中,您可以使用来自Flup module 的WSGI (Web Server Gateway Interface) 服务器。

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

【讨论】:

    【解决方案4】:
    • FastCGI 是一种长寿命的 CGI,它会一直运行。
    • 使用 FastCGI,时间会更短。
    • 由于是多进程,FastCGI 会比 CGI 消耗更多的内存。

    In Detail Diff between FastCGI vs CGI

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 2016-07-13
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      相关资源
      最近更新 更多