webentwicklung-frage-antwort-db.com.de

Beim Starten von Apache wird die Fehlermeldung "Ungültiger Befehl 'WSGIScriptAlias'" angezeigt

Ich möchte mein Django-Projekt auf dem EC2-Server bereitstellen. Ich habe mod_wsgi installiert. 

Und Konfiguration wie im Tutorial von Django gemacht.

Ich bekomme folgendes:

Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration

Was ist der Grund? mod_wsgi ist nicht korrekt installiert?

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
Burak

Der Fehler weist insbesondere darauf hin, dass mod_wsgi nicht in Apache geladen wird.

In welcher Datei ist:

LoadModule wsgi_module     libexec/httpd/mod_wsgi.so

Haben Sie das mod_wsgi-Modul mit dem entsprechenden Linux-Kommando distro management aktiviert, damit es geladen wird, wenn Sie distro-Binärpakete für mod_wsgi verwenden?

15

Das Problem ist, dass mod_wsgi nicht richtig installiert ist.

Lösung (mit Apache 2):

  1. apache installieren:

    $ Sudo apt-get install Apache2
    
  2. libapache2-mod-wsgi installieren:

    $ Sudo apt-get install libapache2-mod-wsgi
    

Und das sollte gut funktionieren.

43
om choudhary

nur um hinzuzufügen, wie ich mein Problem gelöst habe. Wenn Sie nicht wissen, wo sich die Module befinden, suchen Sie einfach nach ihnen

 locate mod_alias.so

dann erhalten Sie vielleicht eine Ausgabe 

/usr/lib/Apache2/modules/mod_alias.so

dann können Sie diesen Ort in Ihre Konfigurationsdatei einfügen 

LoadModule alias_module /usr/lib/Apache2/modules/mod_alias.so
1
madhu131313

Ich habe gerade mit Apache 2.2 das gleiche Problem auf openSUSE 12.2 festgestellt.

Auch wenn wsgi installiert ist, sollten Sie prüfen, ob es aktiviert wurde. Was ich damit meine ist:

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

Wenn wsgi_module (shared) nicht angezeigt wird, fügen Sie wsgi zur Variablen Apache_MODULES in der Datei /etc/sysconfig/Apache2 hinzu.

Auf diese Weise konnte ich die Zeile LoadModule von httpd.conf insgesamt vermeiden.

1
p_barill