Wie installiert man mod_wsgi?

33

Ich habe die folgenden Befehle ausgeführt

sudo apt-get install libapache2-mod-wsgi
sudo a2enmod mod-wsgi

Ich bekomme immer wieder diese äußerst frustrierende Nachricht

ERROR: Module mod-wsgi does not exist!

Bitte helfen Sie.

myusuf3
quelle
1
sudo a2enmod gibt Ihnen eine Liste der installierten Module. Aktiviere einfach wsgi, wie von ajmitch
sagarchalise

Antworten:

21

Die Verwendung von sudo a2enmod wsgisollte das Modul für Sie aktivieren, sobald Sie Apache neu laden, da die meisten Module das Präfix mod_ nicht benötigen, wenn Sie sie aktivieren.

Ajmitch
quelle
Ich habe es versucht, sudo a2enmod wsgiaber selbst ich erhalte immer noch den gleichen Fehler. Ich habe getippt sudo a2enmodund dies sind die Entscheidungen, die ich getroffen habe. Dpaste.de/NEIcf Enthält keine wsgi. Ist es in Ordnung, diese Frage hier zu stellen oder muss ich eine neue Frage stellen?
Sam007
15
sudo nano /etc/apache2/mods-available/wsgi.load

Fügen Sie der Datei die nächste Zeichenfolge hinzu

LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

Speichern Sie dann

sudo a2enmod wsgi
sudo service apache2 restart
Valentin Kantor
quelle
Und wie kann man das testen?
Sören
test_mode_wsgiIch bin mir nicht sicher, ob es ein Skript gibt. Zeigen Sie einfach mit dem Apache auf Ihre wsgi-Anwendung (überprüfen Sie die Dokumentation Ihres Frameworks, wie es funktioniert) und prüfen Sie, ob es funktioniert.
Valentin Kantor
0

Versuchen Sie, die Dateien wsgi.load und wsgi.conf von mods-available zu mods-enabled manuell hinzuzufügen, und starten Sie Apache neu.

Thomas Boxley
quelle
0

WSGI-Warnung

Offizielle WSGI-Dokumentation besagt:

Wenn Sie eine virtuelle Python-Umgebung mit mod_wsgi verwenden, ist es sehr wichtig, dass diese mit derselben Python-Installation erstellt wurde, für die mod_wsgi ursprünglich kompiliert wurde.

Und dann:

Es ist nicht möglich , eine virtuelle Python-Umgebung zu verwenden, um mod_wsgi zu zwingen, eine andere Python-Version oder sogar eine andere Python-Installation zu verwenden . Mit anderen Worten, der Python-Interpreter ist in mod_wsgi eingebettet.

Daher würde ich keine der vorkompilierten mod_wsgi-Binärdateien von empfehlen, aptsondern Sie können sie gemäß den offiziellen Installationsdokumenten kompilieren .

Der andere Weg

Verwenden Sie https://gunicorn.org/ und einen Apache

ProxyPass / http://localhost:8000/

Direktive in Ihrer virtualhost Konfiguration.

Dmytro Gierman
quelle
0

Schritt 1: Der folgende Befehl installiert das wgsi-Modul

sudo apt-get install libapache2-mod-wsgi

Schritt 2: Um das wsgi-Modul zu aktivieren, führen Sie den folgenden Befehl aus

sudo a2enmod wsgi

Schritt 3: Starten Sie Ihren Apache-Server neu, indem Sie ihn ausführen

sudo systemctl restart apache2

Schritt 4: Überprüfen Sie, ob das Modul geladen ist

apache2ctl -t -D DUMP_MODULES   

PS: Ich benutze Ubuntu 18.04 LTS

kragh-dev
quelle