Je souhaite déployer mon projet Django sur le serveur EC2. J'ai installé mod_wsgi.
Et fait la configuration comme dans le tutoriel de Django.
Je reçois ce qui suit:
Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration
Quelle est la raison? mod_wsgi n'est pas installé correctement?
LoadModule wsgi_module libexec/httpd/mod_wsgi.so
LoadModule alias_module libexec/httpd/mod_alias.so
WSGIScriptAlias / /usr/local/Apache2/htdocs/mysite/mysite/wsgi.py
WSGIPythonPath /usr/local/Apache2/htdocs/mysite/mysite
<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
L'erreur indique spécifiquement que mod_wsgi n'est pas chargé dans Apache.
Dans quel fichier se trouve:
LoadModule wsgi_module libexec/httpd/mod_wsgi.so
Avez-vous activé le module mod_wsgi avec la commande de gestion de la distribution Linux appropriée afin qu'il soit chargé si vous utilisiez des packages binaires distro pour mod_wsgi?
Le problème est que mod_wsgi
n'est pas installé correctement.
Solution (avec Apache 2):
installer Apache:
$ Sudo apt-get install Apache2
installer libapache2-mod-wsgi
:
$ Sudo apt-get install libapache2-mod-wsgi
Et cela devrait bien fonctionner.
juste pour ajouter, comment j'ai résolu mon problème si vous ne connaissez pas l'emplacement des modules , cherchez-les simplement
locate mod_alias.so
alors vous pouvez obtenir une sortie comme
/usr/lib/Apache2/modules/mod_alias.so
alors vous pouvez ajouter cet emplacement dans votre fichier de configuration
LoadModule alias_module /usr/lib/Apache2/modules/mod_alias.so
Je viens de rencontrer le même problème sur openSUSE 12.2, avec Apache 2.2.
Même si wsgi est installé, c'est une bonne idée de vérifier s'il a été activé. Ce que je veux dire, c'est ceci:
#outputs a list of registered modules
/usr/sbin/httpd2 -M
Si wsgi_module (shared)
n'apparaît pas, ajoutez wsgi
à la variable Apache_MODULES
, dans le fichier /etc/sysconfig/Apache2
.
De cette façon, je pourrais éviter complètement la ligne LoadModule
de httpd.conf.