什么是Tomcat的Python等价物?

Eri*_*son 42 python java deployment tomcat

这个问题很可能背叛了一个误解,但我很好奇Python世界的"Tomcat"是什么.

我的所有Web编程经验都是Java(或Groovy),所以我认为用Java术语来说.当我想要创建一个基本的Web应用程序时,我想到编写一些servlet,构建一个WAR文件,并在Tomcat或其他servlet容器中部署它.

在Python中,假设我编写了一些能够响应HTTP请求的代码,我该怎么办呢?我该如何部署它?

具体来说:Python中最常用的容器是什么?是否有一个等效的WAR文件,一个web-app的标准包装到一个文件中,可以在各种容器中运行?

Thi*_*ter 31

有不同的方法有一个共同点:它们通常通过WSGI与它们的"容器"(服务器在转到Python代码之前接收HTTP请求)进行通信.

有各种容器:

  • wsgiref - 一个非常简单的参考实现,在开发过程中非常好
  • Apache与mod_wsgi
  • 大多数其他Web服务器都带有一个添加WSGI支持的模块
  • 还有很多

  • 这是Python世界中与J2EE规范的Servlet API部分最接近的部分. (2认同)

S.L*_*ott 6

当我想要创建一个基本的Web应用程序时,我想到编写一些servlet,构建一个WAR文件,并将它部署在Tomcat或另一个servlet容器中.

这很好,但无关紧要.这只是一个Java主义,并不适用于Java之外的广泛应用.

在Python中,假设我编写了一些能够响应HTTP请求的代码,我该怎么办呢?我该如何部署它?

那要看.

Python中最常用的容器是什么?

没有一个.

是否有一个等效的WAR文件,一个web-app的标准包装到一个文件中,可以在各种容器中运行?

没有一个.


HTTP是用于生成对请求的响应的协议.而已.这真的是一件非常小的事情.

您有可以响应请求的CGI脚本.Python cgi库可以做到这一点. http://docs.python.org/library/cgi.html.

这是相对低效的,因为简单的CGI规则是"为每个请求启动新进程".如果脚本允许提升权限或严格计划的上载,也可能不安全.

您有mod_wsgi将Apache连接到Python 的框架.这可以像CGI一样,或者它可以在命名管道的末尾运行一个专用的Python"守护进程".

WSGI标准定义了一种非常方便且可扩展的请求和响应处理格式.大多数框架 - 以某种方式 - 与WSGI兼容.

最后,还有更完整的框架,包括请求和响应的类定义,URL解析,身份验证,授权等.

这是一个列表:http://wiki.python.org/moin/WebFrameworks