Je reçois une erreur "commande invalide 'WSGIScriptAlias' " lors du démarrage D'Apache

je veux déployer mon projet Django sur le serveur EC2. J'ai installé mod_wsgi.

Et configuration comme dans le tutoriel de django.

j'obtiens le code suivant:

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>
16
demandé sur Burak 2012-03-30 21:13:22

4 réponses

L'erreur indique expressément que mod_wsgi n'est pas chargé dans Apache.

dans quel fichier est:

LoadModule wsgi_module     libexec/httpd/mod_wsgi.so

avez-vous activé le module mod_wsgi avec la commande Linux appropriée de gestion des distros pour qu'il soit chargé si vous avez utilisé des paquets binaires distros pour mod_wsgi?

15
répondu Graham Dumpleton 2012-03-30 22:03:49

Le problème est que mod_wsgi n'est pas installé correctement.

la Solution (à l'aide d'Apache 2):

  1. installer Apache:

    $ sudo apt-get install apache2
    
  2. installer libapache2-mod-wsgi:

    $ sudo apt-get install libapache2-mod-wsgi
    

Et cela devrait fonctionner.

39
répondu om choudhary 2014-03-25 13:22:07

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 est ceci:

#outputs a list of registered modules
/usr/sbin/httpd2 -M

Si wsgi_module (shared) n'apparaît pas, ajouter wsgi à la variable APACHE_MODULES, à l'intérieur du fichier /etc/sysconfig/apache2

de cette façon je pourrais éviter tout à fait la ligne LoadModule à partir de httpd.conf.

1
répondu p_barill 2013-12-02 22:12:41

juste pour ajouter, Comment j'ai résolu mon problème si vous ne connaissez pas l'emplacement des modules il suffit de chercher pour eux

 locate mod_alias.so

alors vous pouvez obtenir la 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
0
répondu ᚔ ZenOut ᚔ 2013-11-02 19:15:44