Django的哪个服务器

时间:2013-06-19 21:32:56

标签: django webserver wsgi

我应该使用哪个网络服务器/配置来部署简单的Django / django-cms应用程序? 我的主要兴趣点是(按优先顺序):

  1. 易于安装/配置
  2. 可靠性
  3. 速度
  4. 安全方面
  5. 我可以找到不同的可能性:

    • Apache2 with modwsgi
    • Ngnix with uWSGI
    • 的CherryPy
    • Gunicorn

    关于上述各点,这些可能性之间是否有任何比较? 我查看了Django文档,但没有任何建议。

3 个答案:

答案 0 :(得分:5)

Django Servers有一个很好的资源以及如何配置它们。

我认为鉴于您的兴趣点,Ngnix将是您的最佳选择。它快速,可靠,正如您从链接中看到的那样,并不难设置。

答案 1 :(得分:3)

在我看来,你没有包括并且正在为我工​​作,它正在使用Nginx + Gunicorn。为监督gunicorn进程我正在使用supervisord。 所以我的替代方案是:

  • Gunicorn + Nginx + Supervisord
  • Nginx + chaussette + Circus(用于Mozilla)

但不同的人使用不同的东西。你必须检查你需要的最佳套件。

在DjangoCon 2013上,Tarek Ziade向我们展示了监督使用Chaussette托管应用程序的名为 Circus 的Django / Python应用程序的替代方案。我认为这是值得注意的,因为它直接监督任何Python / Django进程并具有一些其他不错的功能。

你可以看到关于马戏团的Tarek Ziade演示文稿,并将其与其他解决方案进行比较: http://www.youtube.com/watch?v=YEtTWeeRzUI

答案 2 :(得分:2)

所有主要的WSGI服务器都提供良好的性能和可靠性,但最好的并不是任何人都可以给你答案,因为它实际上取决于你的特定应用程序要求。因此,你所得到的只是一大堆个人偏好。

还要非常清楚WSGI服务器只代表整个堆栈的一小部分,并且在正确配置时,只占整个响应时间的很小一部分。换句话说,除非你真的搞砸了如何设置WSGI服务器,否则它不会成为瓶颈。

如果您想了解瓶颈在哪里以及您可以采取哪些措施来监控它们,请观看我的PyCon US 2012讨论,其中讨论了Web服务器瓶颈和Python Web应用程序。