根据您的经验,Lighttpd 和 Nginx 哪个更适合 Django?我都用过,几乎没发现任何区别,它们工作得很好…… 是否有一个用例比另一个好得多?回答时请同时考虑配置的简单性和效率。
./manage.py runfcgi daemonize=false port=8098 host=127.0.0.1
我通常的设置是通过 daemontools 或脚本启动一个单独的 Django FCGI 进程(如) init.d
,并使用 lighty/nginx 充当反向代理。
哦,如果您觉得其他 http 服务器比 Lighty 和 Nginx 更适合 Django,请随时分享您的想法。
答案1
当使用 Nginx 和 Lighttpd 作为 Django、Rails 等的反向代理时,它们都是比 apache 更好的选择。它们都支持 FastCGI 和 Http 代理。它们都提供基于单线程 select()(或更好)的模型,以实现高效的资源利用率。
然而我投票给 Nginx,它拥有非常活跃的用户群(目前是 Ruby on Rails 的宠儿),并且正在积极开发中。Lighttpd 可能会被误认为已经死了,两年多来我们仍在等待 1.5 的测试版。
答案2
mod_wsgi 是将 Django 应用程序投入生产的推荐方法。Apache 的 mod_wsgi 比 nginx 好得多。您无法找到 nginx 的 mod_wsgi 的官方软件包(在当前的 Linux 发行版中),您需要自己编译它。我喜欢 nginx,但如果您想安全起见,请使用 Apache mod_wsgi。
答案3
mod-wsgi 是在生产中运行 django 应用程序的最佳方式,比 fastcgi 更简单,并且没有启动时间等问题。
真正的 mod-wsgi 是针对 apache 的,但还有另一个针对 nginx 的 mod-wsgi。apache 的那个很棒,我无法评论 nginx 的那个。
就我个人而言,我会远离 lighttpd。它没有 nginx 的稳定性,我还没有见过没有内存泄漏的 lighttpd 案例。
基本上,我的第一选择是 apache 2.2,第二选择是 nginx。
不要相信关于响应时间和可扩展性的炒作。事实是,这并不重要。(Google 使用 Apache)。
答案4
另外,请考虑使用 Google App Engine。您可以免费在那里托管您的 Django 项目,而不必担心维护服务器基础设施。