什么是Tomcat的Python等价物?

这个问题可能会让人误解,但是我很好奇Python世界的“Tomcat”是什么。

我所有的Web编程经验都是使用Java(或Groovy),所以我想用Java来expression。 当我想到制作一个基本的Web应用程序时,我想写一些servlet,构build一个WAR文件,并将其部署到Tomcat或另一个servlet容器中。

在Python中,假设我编写了一些能够响应HTTP请求的代码,我将如何处理它? 我将如何部署它?

具体来说:什么是Python中最常用的容器? 有没有相当于一个WAR文件,一个Web应用程序的标准打包成一个文件,在不同的容器中工作?

4 Solutions collect form web for “什么是Tomcat的Python等价物?”

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

有各种容器:

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

当我想到制作一个基本的Web应用程序时,我想写一些servlet,构build一个WAR文件,并将其部署到Tomcat或另一个servlet容器中。

这很好,但不相干。 这只是一个Java主题,并不适用于Java之外的很广泛的领域。

在Python中,假设我编写了一些能够响应HTTP请求的代码,我将如何处理它? 我将如何部署它?

那要看。

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

没有一个。

有没有相当于一个WAR文件,一个Web应用程序的标准打包成一个文件,在不同的容器中工作?

没有一个。


HTTP是用于产生对请求的响应的协议。 而已。 这真的是一个非常小的事情。

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

这是相对低效的,因为简单的CGI规则是“为每个请求启动一个新的进程”。 如果该脚本允许提升特权或严重计划外的上载,则也可能是不安全的。

你有mod_wsgi框架来连接Apache到Python。 这可以像CGI一样工作,也可以在命名pipe道末尾运行一个专用的Python“守护进程”。

WSGI标准为请求和响应处理定义了一个非常方便和可扩展的格式。 大多数框架 – 以这种或那种方式 – 与WSGI兼容。

最后,还有更完整的框架,包括请求和响应的类定义,URLparsing,authentication,授权等等。

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

也许'uwsgi'会有所帮助。 这里是链接: http : //projects.unbit.it/uwsgi/

有很多networking服务器可用于Python。 一些像CherryPy这样的networking服务器是用Python编写的。 答案中最酷的部分是tomcat服务器本身支持基于Python的应用程序。

有关更多详细信息,请查看此网站: https : //wiki.python.org/moin/WebServers

  • org.glassfish.jersey.servlet.ServletContainer ClassNotFoundException
  • 将上传的文件保存在servlet应用程序中的推荐方法
  • IntelliJ说'不能运行程序'/path/to/tomcat/bin/catalina.sh'错误= 13权限被拒绝
  • 使用Eclipse / Tomcat自动添加第三方jar到WEB-INF / lib
  • 如何在启动时在Tomcatconfiguration中指定系统属性?
  • MySQL JDBC驱动程序5.1.33 - 时区问题
  • 我可以使用Java EE webapp中的Windows身份validation连接到SQL Server吗?
  • 我可以在JAR中使用JSP来提供JSP,还是有解决方法?
  • Tomcat中的默认用户名和密码是什么?
  • 使用jConsole连接远程tomcat JMX实例
  • 绝对path和相对path