2017-01-31 2 views
1

Je veux exécuter 2 applications django sur un serveur Linux (Debian). Ces deux projets fonctionnent bien sur mon PC et sur le serveur en utilisant la commande django runserver. Voici ce que je l'ai fait jusqu'à présent:Python/Django/Apache2/WSGI/UserDir/Conda: Django

J'activé userdir:

sudo a2enmod userdir 

J'ai créé deux utilisateurs:

sudo useradd -g www-data -m user1 
sudo useradd -g www-data -m user2su 

Puis j'ai créé mes deux environnements Conda, importés d'un fichier, le même nom que mes utilisateurs. J'ai créé deux répertoires où j'ai mis mes projets django /var/www/users/user1 et /var/www/users/user2.

Puis-je créer un fichier de configuration pour chaque utilisateur:

sudo nano /etc/apache2/conf-available/user1.conf 

avec le contenu suivant

WSGIDaemonProcess user1 user=user1 home=/var/www/users/user1 processes=1 threads=3 display-name=%{GROUP} python-path=/var/www/users/user1 python-home=/home/developer/anaconda3/envs/user1/lib/python3.4/site-packages 
WSGIScriptAlias /~user1 /var/www/users/user1/user1/user1/wsgi.py process-group=user1 
WSGISocketPrefix /var/run/wsgi 
<Directory /var/www/users/user1> 
     WSGIProcessGroup user1 
</Directory> 

developer est l'utilisateur qui est utilisé pour le développement sur le serveur.
ajouter ces lignes à mon fichier apache2.conf:

UserDir disabled 
UserDir enabled user1 user2 
UserDir /var/www/users 
<Directory /var/www/users> 
AllowOverride FileInfo AuthConfig Limit 
Options +MultiViews +SymLinksIfOwnerMatch +ExecCGI -Includes -Indexes 
AddHandler wsgi-script wsgi 
Order allow,deny 
Allow from all 
</Directory> 

J'ai essayé d'installer wsgi avec le gestionnaire de paquets ou directement de la source dans l'environnement de Conda correspondant. Je suis toujours l'erreur suivante:

from django.core.wsgi import get_wsgi_application 
ImportError: No module named 'django' 

Un peu au-dessus:

mod_wsgi: Compiled for Python/3.5.1+. 
mod_wsgi: Runtime using Python/3.5.2. 

Avez-vous une idée de ce que je fais mal?

Répondre

1

J'ai le meilleur succès en lisant les documents mod_wsgi. Il peut y avoir de nombreux problèmes pour expliquer pourquoi l'Apache/Python ne communique pas, et les documents mod_wsgi de Graham Dumpleton sont la meilleure ressource.

modwsgi readthedocs install

Vous avez vraiment besoin de prendre le temps d'étudier comment installer le mod_wsgi pour le système d'exploitation cible.