Pomyślnie skonfigurowałem jedną aplikację Django przy użyciu virtualenv
na Ubuntu i Apache 2, używając dyrektywy WSGIPythonHome
wskazującej moją lokalizację virtualenv
. Teraz potrzebuję stworzyć oddzielną aplikację Django, która będzie działać na Apache na innym porcie na tym samym serwerze Ubuntu. Zastanawiam się, czy istnieje sposób, aby Apache uruchomić wiele instancji WSGIPythonHome
? Aktualnie z WSGIPythonHome
ustawionym na jeden katalog główny virtualenv
jest problem z importowaniem w drugiej aplikacji Django ...Wiele aplikacji Django używających virtualenv na Apache 2 na Ubuntu 11
5
A
Odpowiedz
0
Powinieneś to zrobić z oddzielnym virtual hosts w Apache. Każdy może słuchać określonego portu i może mieć oddzielne dyrektywy WSGI.
2
Najlepszym sposobem na zrobienie tego, co odkryłem około rok temu, jest użycie WSGI jako demona i ustawienie ścieżki pythona w dyrektywie demona. Przykład jest poniżej:
<VirtualHost *:80>
ServerName yourhost.com
<Directory />
Order deny,allow
#Require all granted
</Directory>
#Alias /static /opt/yourhost/static
WSGIScriptAlias//opt/yourhost/wsgi.py
WSGIApplicationGroup %{GLOBAL}
WSGIDaemonProcess yourhost.com python-path=/opt/yourhost:/opt/yourhost/venv/lib/python2.7/site-packages processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup yourhost.com
</VirtualHost>
WSGISocketPrefix /var/run/wsgi
Mam konfigurację wirtualnych hostów dla każdej aplikacji. Gdzie w konfiguracji wirtualnego hosta dodaję WSGI. Jaka jest składnia. Próbowałem szybkiego wyszukiwania google o wirtualnych hostach i WSGI przed opublikowaniem pytania, ale nie znalazłem nic przydatnego. –
importowanie os, sys importowanie strony site.addsitedir ('/ home/deploy/virtualenv/expenses/lib/python2.6/site- pakiety ") sys.path.append ('/ opt/expenses/current/src') os.environ ['DJANGO_SETTINGS_MODULE'] = 'expenses.settings' import django.core.handlers.wsgi application = django. core.handlers.wsgi.WSGIHandler() –
powyżej to moja dyrektywa wsgi, mam dwie, jedną dla każdej aplikacji ... ale nie widzę gdzie, gdzie mogę dodać dyrektywę WSGIPythonHome –