L'installation de mod_wsgi avec
libapache2-mod-wsgi``` a un piège.
Vérifiez le fichier journal avec la commande suivante.
vim /var/log/apache2/error.log
Je suis sûr qu'un tel avertissement (je pense que ce sera légèrement différent selon l'environnement) est décrit.
[Mon Feb 13 14:10:22.233656 2017] [wsgi:warn] [pid 10526:tid 139972854908800] mod_wsgi: Compiled for Python/2.7.8.
[Mon Feb 13 14:10:22.233725 2017] [wsgi:warn] [pid 10526:tid 139972854908800] mod_wsgi: Runtime using Python/2.7.9.
Cela signifie littéralement que la version de python qui compile wsgi est différente de la version de python actuellement utilisée.
Donc, pour résoudre ce problème, réinstallez mod_wsgi à l'aide de pip. Cependant, veuillez Installer pyenv avant cela.
pip install mod_wsgi
Ensuite, un fichier comme celui-ci sera créé
/home/USERNAME/.pyenv/versions/3.5.2/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so
Modifiez le fichier de configuration pour qu'apache2 lise ce fichier.
sudo vim /etc/apache2/mods-available/wsgi.load
Décrivez le chemin du module. Spécifiez le module pyenv que vous venez d'installer.
(N'oubliez pas de changer USERNAME
)
LoadModule wsgi_module /home/USERNAME/.pyenv/versions/3.5.2/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so
Après avoir fait ce qui précède, redémarrez apache2.
sudo service apache2 restart
Maintenant, lorsque vous accédez à nouveau à `` (nom de domaine ou adresse IP) / test_wsgi '', Hello World sera dessiné et l'avertissement ne devrait pas se produire.
De plus, lors de l'utilisation d'ubuntu, un bogue dans ubuntu (commande-not-found échoue lorsque python3 installé par l'utilisateur est dans PATH) Provoque une ```Erreur d'importation: aucun module nommé'_sysconfigdata_m'` ``, donc Debian est recommandé.
Recommended Posts