我目前运行的是 Apache + Django。效果很好。
很多人,特别是这个帖子:https://stackoverflow.com/questions/475386/apache-vs-nginx-vs-lighttpd-which-is-simpler-to-configure-and-administer假设 nginx/cherokee 是较新的、更受青睐的 Web 服务器。
如果我根本不通过 Apache 提供任何静态内容,是否有理由使用 Nginx 或其他任何内容?我目前通过 Amazon S3 提供静态内容。
答案1
这就像争论哪个美女更漂亮。如果 Apache 对你有用,而且你不需要其他服务器特有的任何功能,那么就坚持使用 Apache。至于首选解决方案是什么,Django 还没有真正选出一个,而且在谈论 apache、nginx、cherokee 或其他时,我从未见过关于谁使用哪个服务器来构建 Django 网站的实际数据。在整个行业中,Apache 是 800 磅重的大猩猩,所以学习这些技能不会错。
答案2
这可能是个人喜好的问题,但我发现 Apache 很难配置,无论您使用 mod_wsgi 还是 mod_python(还有人在用吗?)来为您的 Django 应用程序提供服务。
最近我发现自己uWSGI服务器,我对它非常满意:非常快,易于配置和维护,与 nginx/cherokee 配合得很好,所以你可能想尝试一下。
答案3
就我个人而言,我改用 nginx 的唯一原因是因为它使用起来简单一百万倍,而且配置文件对我来说更有意义。移植一些 mod_rewrite 东西确实花了一段时间,但除此之外,我对能够在同一 HTTP 服务器后面轻松托管 Perl、Python 和 PHP 应用程序感到非常满意。
此外,它占用的内存更少,响应速度更快。这是双赢的。
答案4
通常人们使用 nginx 来提供静态内容。您可以配置 uwsgi + nginx(nginx 将像 uwsgi 的代理一样)最简单的(也可能是最广泛使用的)是 Apache mod_wsgi。如果您不提供任何静态内容,您可以坚持使用它。配置并不困难,您可以在 django 文档中找到它。