托管多个VirtualHost实例

时间:2012-02-01 22:18:01

标签: python django apache mod-wsgi

我的django项目包含许多应用程序,库和中间件。我想在不同的虚拟主机上运行该项目的不同配置(因为不同的用例和需求,例如:一个用于用户,一个用于M2M api等)。从this问题我明白,主持这个应该不是问题,只要我有单独的wsgi bootstrap文件,但我不明白为什么以下这一行:

os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'

不会导致同时部署时出错。如果我有几个带有自己的wsgi配置文件的虚拟主机,所有这些都设置了DJANGO_SETTINGS_MODULE系统变量,那么它们是否会覆盖彼此的设置?

此设置是否会在每次请求时“及时”更改?在这种情况下,是否有更有效的方法来处理这种多主机设置?

谢谢,

1 个答案:

答案 0 :(得分:1)

django-installed都有自己的python-scope。这意味着site1的变量在site2中不可用。这与两个python-shell相同。您无法访问其他环境。

所以你有两个正在运行的项目实例。一个用于site1,一个用于site2。

我也以这种方式处理我的安装,但我可以想象,最好只使用一个安装并在子页面中提供apis之类的东西。但我不知道,这对表现来说是否更好。