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