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?