我想在同一主机上部署两个不同的django应用程序:第一个将对应于url/site1,第二个对应于url/site2。下面是我的配置:用mod_wsgi在Apache上部署多个django应用程序
LoadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias /site1 /var/www/py/site1/site1/wsgi.py WSGIScriptAlias /site2 /var/www/py/site2/site2/wsgi.py WSGIPythonPath /var/www/py/site1:/var/www/py/site2 <Directory "/var/www/py/site1/site1"> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory> <Directory "/var/www/py/site2/site2"> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory>
而且这里的wsgi.py文件这两个应用程序
import os import sys path = '/var/www/py/site1' if path not in sys.path: sys.path.append(path) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "site1.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
现在,这里是我的问题。当我去我的服务器,让我们说http://app1.sites.gr/site1有些时候加载site1,有些时候加载site2 !!!!当我访问http://app1.sites.gr/site2 ... Sometiems时,我得到site1的欢迎页面,有时我会得到site2的欢迎页面!我打F5并获得不同的欢迎页面。我已经检查一切为了先前小时,并没有发现什么异样......
请告诉我,我发疯之前可能是什么问题...
谢谢!
这实际上工作,谢谢!但是现在我又遇到了另一个问题:当我尝试在同一个浏览器中访问这两个站点时,它有时会从site2注销我(当我访问site1时) - 但不是相反......这是因为我有/ site1和/ site2?我应该尝试一下Erik提出的建议并拥有site1.sites.gr和site2.sites.gr吗? – Serafeim 2012-07-17 07:28:39
您需要为每个网站设置不同的SESSION_COOKIE_NAME或SESSION_COOKIE_PATH,因为它们位于同一个域中。请参阅http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango – 2012-07-18 03:31:58