你会推荐哪个?哪个更快,更可靠?apache mod_python或nginx/lighttpd FastCGI?
我已经做到了,Apache/mod_python更容易使用,更稳定.但是这些天我跳到了Apache/mod_wsgi,这是我想要的一切以及更多:
轻松管理守护进程.
其结果是,很多更好的进程隔离(运行在同一个Apache的配置与mod_python的多个站点几乎总是麻烦结束-环境变量和C扩展跨站点泄漏当你这样做).
简单的代码重新加载(设置正确,你只需触摸.wsgi
文件重新加载而不是重新启动Apache).
更可预测的资源使用情况.使用mod_python,给定的Apache子进程'内存使用可以跳转很多.使用mod_wsgi它非常稳定:一旦所有内容都被加载,你知道它将使用多少内存.
使用FastCGI的lighttpd在名义上会更快,但实际上运行你的python代码所需的时间和它所做的任何数据库命中都会让你在Web服务器之间获得的任何性能优势都相形见绌.
如果你想在django之外编写像digest auth这样的代码,或者任何花哨的HTTP头获取/设置,mod_python和apache将为你提供更多的灵活性.也许你想使用其他内置的apache功能,比如mod_rewrite.
如果内存是一个问题,那么远离apache/mod_python将会有很大帮助.Apache倾向于使用大量的RAM,并且粘合到所有apache功能中的mod_python代码也占用了大量的内存空间.更不用说apache的多进程性质往往会消耗更多的RAM,因为每个进程都会增长到它最密集的请求的大小.
Nginx与mod_wsgi