我目前使用Apache 2.0和FastCGI来服务我的Django站点(我从一台服务器/ IP托pipe多个站点)。 每个站点都有它自己的FastCGI进程,它会阻止Apache分叉多个可以使用大量内存的副本,这意味着我可以在不重新启动Apache的情况下重新启动单个Django站点。
这是一个明智的做事方式,还有其他更好的select吗?
你一定需要mod-wsgi。
mod-wsgi是由多年前制造mod-python的同样的大脑开发的。 mod-wsgi现在推荐用于所有现代应用程序框架(包括django)的mod-python。
基本上,mod-wsgi有两种操作模式:embedded式(最快的类似mod-python只有更快)或守护进程(有点像fast-cgi)。
在守护进程模式下,最好使用fast-cgi,因为:
在embedded模式下,最好是mod-python,因为:
这里是文档: http : //code.google.com/p/modwsgi/wiki/IntegrationWithDjango
/ Richy
早期我使用nginx和supervisord(在俄罗斯http://buzzja.mine.nu/blog/2009/02/21/dzhango-za-stenoj/ )
我使用Apache2和mod_python成功。 你只是最终添加一些Django的应用程序。 特定的东西到Apache类似于这个(例如从一个VHOS运行reviewboardboard ReviewBoard拉):
<Location "/reviewboard"> SetHandler mod_python PythonPath "['/usr/lib/python2.4/site-packages/django'] + ['/usr /local/reviewboard'] + ['/usr/local/reviewboard/djblets', '/usr/local'] + sys.pa th" SetEnv DJANGO_SETTINGS_MODULE reviewboard.settings PythonHandler django.core.handlers.modpython PythonAutoReload Off PythonDebug Off PythonInterpreter reviewboard </Location>
在这种情况下,重要的设置是在不同的Django应用程序中使用“PythonInterpreter”的独特性。
祝你好运。