我想在同一主機上部署兩個不同的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