Ho installato correttamente un'applicazione Django utilizzando virtualenv
su Ubuntu e Apache 2, utilizzando la direttiva WSGIPythonHome
che punta alla mia posizione virtualenv
. Ora ho bisogno di creare un'applicazione Django separata, che verrà eseguita su Apache su una porta diversa sullo stesso server Ubuntu. Mi chiedo se c'è un modo per fare in modo che Apache esegua più istanze WSGIPythonHome
? Attualmente con WSGIPythonHome
essere impostato su uno virtualenv
radice, c'è un problema con le importazioni al secondo Django app ...Più applicazioni Django che utilizzano virtualenv su Apache 2 su Ubuntu 11
5
A
risposta
0
Si dovrebbe fare questo con separata virtual hosts in Apache. Ognuno può ascoltare una particolare porta e può avere le sue direttive WSGI separate.
2
Il modo migliore per farlo, ho scoperto circa un anno fa, è di utilizzare WSGI come demone e impostare il percorso python nella direttiva daemon. L'esempio è sotto
<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
Ho l'installazione di host virtuali per ciascuna delle app. Dove nella configurazione dell'host virtuale aggiungo un WSGI. Qual è la sintassi. Ho provato una rapida ricerca su google su host virtuali e WSGI prima di pubblicare la domanda ma non ho trovato nulla di utile –
import os, sys sito di importazione site.addsitedir ('/ home/deploy/virtualenv/costs/lib/python2.6/site- pacchetti ') sys.path.append ('/opt/spese/corrente/src ') os.environ [' DJANGO_SETTINGS_MODULE '] =' spese.settings ' import django.core.handlers.wsgi application = django. core.handlers.wsgi.WSGIHandler() –
sopra è la mia direttiva wsgi, ne ho due, uno per ogni app ... ma non vedo dove, dove posso aggiungere una direttiva WSGIPythonHome –