我目前使用 Apache 2.0 和 FastCGI 为我的 Django 站点提供服务(我从单个服务器/IP 托管多个站点)。每个站点都有自己的 FastCGI 进程,它可以阻止 Apache 分叉多个副本,这会占用大量内存,这意味着我可以在不重新启动 Apache 的情况下重新启动单个 Django 站点后端。
这是一种明智的做事方式吗?还有其他/更好的选择吗?
我目前使用 Apache 2.0 和 FastCGI 为我的 Django 站点提供服务(我从单个服务器/IP 托管多个站点)。每个站点都有自己的 FastCGI 进程,它可以阻止 Apache 分叉多个副本,这会占用大量内存,这意味着我可以在不重新启动 Apache 的情况下重新启动单个 Django 站点后端。
这是一种明智的做事方式吗?还有其他/更好的选择吗?
你肯定需要 mod-wsgi。
mod-wsgi 是由多年前制作 mod-python 的同一批人开发的。对于所有现代应用程序框架,包括 django,现在建议使用 mod-wsgi 而不是 mod-python。
基本上,mod-wsgi 有两种操作模式:嵌入式(最快 - 有点像 mod-python 只是更快)或守护进程(有点像 fast-cgi)。
在守护进程模式下,最好使用 fast-cgi,因为:
在嵌入式模式下,最好使用 mod-python,因为:
这是文档:http ://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
/ 里奇
早期我使用 nginx 和 supervisord(关于俄罗斯的小方法http://buzzja.mine.nu/blog/2009/02/21/dzhango-za-stenoj/)
我使用 Apache2 和 mod_python 取得了很好的成功。你最终只是添加了一些 django-app。与此类似的 apache 的特定内容(从运行 ReviewBoard 的 VHost 中提取的示例来自 review-board.org):
在这种情况下,重要的设置是“PythonInterpreter”在不同 django 应用程序中的唯一性。
祝你好运。