Chcę wdrożyć dwie różne aplikacje django na tym samym hoście: pierwsza będzie odpowiadać adresowi url/stronie1, a druga adresowi URL/stronie2. Oto moja konfiguracja:Wdrażanie wielu aplikacji django na serwerze Apache przy użyciu mod_wsgi
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>
Również tutaj jest plik wsgi.py zarówno do zastosowań
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()
Teraz tutaj jest mój problem. Kiedy wchodzę na mój serwer, załóżmy, że czasami ładuje stronę1, a czasami ładuje stronę2! To samo dotyczy odwiedzin http://app1.sites.gr/site2 ... Sometiems Dostaję stronę powitalną dla strony1, czasami otrzymuję stronę powitalną dla strony2! Uderzam w F5 i otrzymuję różne strony powitalne. Sprawdziłem wszystko, co dla poprzednich godzin i nie znalazłem nic dziwnego ...
Proszę, powiedz mi, co może być problem, zanim zwariuję ...
Dzięki!
To zadziałało, dziękuję! Jednak mam teraz inny problem: kiedy próbuję odwiedzić obie witryny w tej samej przeglądarce, czasami loguje mnie on ze strony2 (kiedy odwiedzam stronę1) - ale nie odwrotnie ... Czy to możliwe, ponieważ mam/site1 i/site2? Czy powinienem spróbować tego, co Erik proponuje i mieć site1.sites.gr i site2.sites.gr? – Serafeim
Musisz ustawić SESSION_COOKIE_NAME lub SESSION_COOKIE_PATH inaczej dla każdej witryny, ponieważ są one w tej samej domenie. Zobacz http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango –