2012-04-03 13 views
5

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

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.

+0

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. –

+0

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() –

+0

powyżej to moja dyrektywa wsgi, mam dwie, jedną dla każdej aplikacji ... ale nie widzę gdzie, gdzie mogę dodać dyrektywę WSGIPythonHome –

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 
Powiązane problemy