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