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>
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?
Das Problem ist, dass mod_wsgi
nicht richtig installiert ist.
Lösung (mit Apache 2):
apache installieren:
$ Sudo apt-get install Apache2
libapache2-mod-wsgi
installieren:
$ Sudo apt-get install libapache2-mod-wsgi
Und das sollte gut funktionieren.
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
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.