答案 0 :(得分:21)
我已经完成了两项工作,并且Apache / mod_python更容易使用并且更稳定。但是这些天我跳到了Apache / mod_wsgi,这是我想要的一切以及更多:
.wsgi
文件即可重新加载而不是重新启动Apache。)答案 1 :(得分:6)
如果记忆是一个问题,那么远离apache / mod_python将会有很大帮助。 Apache倾向于使用大量的RAM,并且粘合到所有apache功能中的mod_python代码也占用了大量的内存空间。更不用说apache的多进程性质往往会消耗更多的RAM,因为每个进程都会增长到它最密集的请求的大小。
答案 2 :(得分:5)
带有mod_wsgi的Nginx
答案 3 :(得分:2)
就我个人而言,我已经将它与FastCGI合作了一段时间(大约6个月左右),并且在加载与mod___python相比的页面时,响应时间“似乎”更快。对我来说,关键的原因是我看不到一个明显的方法来从同一个apache / mod_python安装做多个站点,而FastCGI是一个相对明智的。
我没有进行过任何特别彻底的实验: - )
[编辑] 从经验来看,设置FastCGI可能是第一次有点痛苦。我一直有意写一个指南..!
答案 4 :(得分:2)
我正在使用它与nginx。不确定它是否真的更快,但肯定更少的RAM / CPU负载。此外,运行多个Django进程并让nginx将每个URL前缀映射到不同的套接字更容易。仍未充分利用nginx的memcached模块,但首次测试显示巨大的速度优势。
答案 5 :(得分:2)
还有mod_wsgi,它似乎比mod_python更快,守护进程模式的操作类似于FastCGI
答案 6 :(得分:2)
我推荐WSGI配置;我一直意味着放弃apache,但服务器上总会有一些似乎需要它的遗留应用程序。此外,WSGI应用程序生态学非常多样化,它允许在服务器和应用程序之间使用菊花链式WSGI“中间件”等巧妙的技巧。
但是,目前有known issues with some apps and apache mod_wsgi,特别是某些ctypes应用,所以如果你想尝试运行,请谨慎,比如geodjango广泛使用ctypes。我正在解决这些问题,我自己回到fastcgi。