运行 Django 或任何其他基于 python 的网络框架的最低配置或交钥匙网络服务器?

Posted

技术标签:

【中文标题】运行 Django 或任何其他基于 python 的网络框架的最低配置或交钥匙网络服务器?【英文标题】:A minimum configuration or turnkey web-server to run Django or any other python based web-framework? 【发布时间】:2011-10-03 21:49:42 【问题描述】:

是否有任何类似的解决方案,如用于 python 框架的 XAMPP(已准备好 php)。或多或少像一个交钥匙解决方案,在 Linux 和 Windows 桌面上部署和运行基于 Python 的 Web 服务。 我很困惑 Tornado Web Server 的目的是什么。该网站说它是 Web Server,然后它还说一些关于 Web Server Framework 的内容。由于它是用 python 编写的,它的性能是否与 apache 或 ngnix 一样好?

【问题讨论】:

阅读:tornadoweb.org/documentation/… re: "性能",这在很大程度上取决于具体的应用程序。某些工作负载在某些服务器中自然会比其他工作负载更好,并且通常至少有一个用例,其中每台服务器都是最闪耀的。另一方面,当您在寻找跨平台的交钥匙解决方案时,不应该考虑性能调整,如果性能是您的主要关注点,那么任何交钥匙解决方案都不适合您的特定应用。 【参考方案1】:

我目前正在使用 nginx + CherryPy http://www.cherrypy.org/ 非常高兴。托管 Django 驱动的网站时,CherryPy 似乎非常简单。

【讨论】:

【参考方案2】:

您总是会部署某种网络服务器作为 Python 代码的前端。

Apache、nginx 或 lighttpd。

对于大多数 Python 框架,您将使用 mod_wsgi。

对于其他 Python 框架(如 Tornado),您不会使用 mod_wsgi。

每个 Python 框架都是独一无二的,因此没有单一的标准答案。

由于您在标签中特别提到了 Django,因此您通常会使用 Apache 和 mod_wsgi。你会读到这个:https://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/

你不会使用 Tornado。

【讨论】:

mod_wsgi == apache,但 wsgi == pep333 == 便携式 python webapps。很多 Web 服务器可以托管 wsgi 应用程序,apache 可以通过 mod_wsgi 来实现(还有其他一些选项)。 wsgi 到 fastcgi 包装器的存在是为了支持更多的 http 服务器,wsgi.org/wsgi/Servers

以上是关于运行 Django 或任何其他基于 python 的网络框架的最低配置或交钥匙网络服务器?的主要内容,如果未能解决你的问题,请参考以下文章

扭曲(异步服务器)与Django(或任何其他框架)

基于python或django的workflow engine

在线运行python脚本(django)[关闭]

在 Java 中运行 python 或其他语言代码

更好的网络框架? [关闭]

Django环境搭建