3

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

  1. 易于安装/配置
  2. 可靠性
  3. 速度
  4. 安全方面

我可以找到不同的可能性:

  • Apache2 与 modwsgi
  • Ngnix 与 uWSGI
  • 樱桃派
  • 独角兽

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

4

3 回答 3

5

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

考虑到您的兴趣点,我认为 Ngnix 将是最适合您的。它快速、可靠,并且从链接中可以看出,设置起来并不难。

于 2013-06-19T21:42:26.130 回答
3

在我看来,你没有包括在内,并且为我工作得很好,它使用的是 Nginx + Gunicorn。对于监督 gunicorn 过程,我使用的是 supervisord。所以我的选择是:

  • Gunicorn + Nginx + Supervisord
  • Nginx + chausette + Circus(在 Mozilla 中使用)

但是不同的人使用不同的东西。您必须检查最适合您的需求。

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

您可以在此处查看有关 Circus 的 Tarek Ziade 演示并将其与其他解决方案进行比较:http: //www.youtube.com/watch?v=YEtTWeeRzUI

于 2013-06-19T23:59:30.560 回答
2

所有主要的 WSGI 服务器都提供了良好的性能和可靠性,但最好的不是任何人都可以为您提供答案,因为这实际上取决于您的特定应用程序需求。因此,您将在这里得到的只是人们的一堆个人喜好。

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

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

于 2013-06-20T01:29:47.303 回答