Der Entwicklungs-Webserver, der mit Flask geliefert wird, ist sehr leistungsschwach, reagiert langsam und führt einen Reverse-Proxy direkt über Nginx durch, wobei er häufig nicht auf Anfragen reagiert. Es gibt zwei Server, die in einer Produktionsumgebung verwendet werden können, eine gute Leistung bieten und Flask-Programme unterstützen, nämlich Gunicorn und uWSGI, aber diese beiden Module bieten keine Unterstützung für Windows.
Also müssen wir das Modul mod_wsgi verwenden, um die Bereitstellung von Flask auf Apache zu ermöglichen. Das Modul mod_wsgi ist ein in Python geschriebenes Apache FastCGI-Modul. (Empfohlenes Lernen: Apache-Verwendung)
Entpacken Sie es nach dem Herunterladen, um Apache24 zu erhalten, öffnen Sie es in der Conf-Datei und öffnen Sie es mit Text Hier.
Jetzt erklären wir, was wir ändern müssen:
1. ServerRoot „c:/Apache24“: Ändern Sie es in Ihre eigene Verzeichnisadresse
2 Bei der Nr.-Konfiguration stellen einige Benutzer möglicherweise fest, dass ihr 80-Port belegt ist, der möglicherweise von IIS oder SQL Server belegt ist. Wir können diese Portnummer ändern, um das Testen zu erleichtern
3 Ändern Sie die Verzeichnisautorisierung
Original:
<Directory /> AllowOverride none Require all denied </Directory>
Nach der Änderung:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>
4. Ändern Sie den Stammpfad des Dokuments in Ihren eigenen Dateipfad
DocumentRoot "c:/Apache24/htdocs" <Directory "c:/Apache24/htdocs">
5. Mod-Modulkonfiguration (wichtige Punkte)
(1) Installieren Sie zunächst die heruntergeladene mod.whl-Datei:
pip install
(2) Führen Sie nach erfolgreicher Installation den folgenden Befehl aus:
mod_wsgi-express module-config
(3) Nachdem der obige Befehl erfolgreich ausgeführt wurde, können wir drei Informationen erhalten:
(4) Dann verwenden Sie diese drei Informationen, um die .so-Datei zu ersetzen und Fügen Sie es der Apache-Konfigurationsdatei hinzu. Medium:
6. Konfigurationsseite (wichtiger Punkt):
# <VirtualHost> definition. These values also provide defaults for # any <VirtualHost> containers you may define later in the file.
Da ich eine Person bin, die nicht weiß, wie man Apache konfiguriert, habe ich zuerst Ich habe die Konfiguration im Referenzlink gesehen. Ich weiß nicht, wo ich VirtualHost ablegen soll. Ich kann also den vollständigen Text durchsuchen und diesen Satz ganz sicher am Ende der Datei einfügen.
Kopieren Sie den folgenden Absatz an das Ende der Conf-Datei und ändern Sie den Pfad in Ihren eigenen Pfad
<VirtualHost *:8080 > ServerAdmin example@xx.com DocumentRoot E:\Environment\Apache\Apache24\text_web <Directory "E:\Environment\Apache\Apache24\text_web"> Order allow,deny Allow from all </Directory> WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi </VirtualHost>
Die obigen Anweisungen zur Site-Konfiguration:
(1) Projektpfad (Es muss nicht im Apache-Verzeichnis abgelegt werden):
DocumentRoot E:\Environment\Apache\Apache24\text_web
(2)wsgi-Modul-Startdatei (Schlüsselpunkt):
WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi
Hinweis: Das „/“ ist hier erforderlich und stellt das URL-Präfix dar. Es kann später je nach Bedarf geändert werden.
(3) Projektpfadberechtigungen: Auf alle zulassen
<Directory "E:\Environment\Apache\Apache24\text_web"> Order allow,deny Allow from all </Directory>
An diesem Punkt wurde unsere httpd.conf-Datei konfiguriert.
2. Geben Sie die Konfiguration des Flask-Projekts ein:
Projektverzeichnis:
1 , test.wsgi-Dateibeschreibung:
import sys sys.path.insert(0, "E:/Environment/Apache/Apache24/text_web") #项目路径
aus Testimport-App #Fügen Sie den Projektnamen unseres Flask-Projekts in
application = app ein. #aplcation darf nicht in etwas anderes geändert werden, da wsgin dies analysiert Datei, nur die Anwendung erkennen (Referenzlink)
2. Die Hauptdatei von flask
from flask import Flask app = Flask(__name__) @app.route('/hello') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
An diesem Punkt ist unsere Projektkonfiguration im Wesentlichen abgeschlossen. Was hier besondere Aufmerksamkeit erfordert, ist die WSGI-Datei Projekteinführung.
3. Starten oder installieren Sie Apache
Starten Sie cmd im Administratormodus und geben Sie den bin-Dateipfad von Apache24 ein:
Installieren Sie Apache, um das System zu bedienen :
httpd -k install
Apache starten:
httpd -k start
Ich habe festgestellt, dass einige Computer es direkt ausführen können, indem sie httpd.exe öffnen, ohne httpd im Systemdienst zu installieren.
Andere Apache-Befehle, die verwendet werden können:
Beenden Sie den Apache-Dienst:
httpd -k stop
Starten Sie den Apache-Dienst neu:
httpd -k restart
An diesem Punkt unsere Flasche Projekt besteht wsgi Das Modul wird erstellt, nachdem der Apache-Dienst erstellt wurde. Öffnen Sie localhost:8080/hello und prüfen Sie, ob helloworld angezeigt wird. Wenn Sie feststellen, dass das Projekt immer noch nicht erfolgreich konfiguriert ist, achten Sie bitte auf das Fehlerausgabeprotokoll von Apache. Das Fehlerausgabeprotokoll befindet sich in
Das obige ist der detaillierte Inhalt vonSo kombinieren Sie Flasche mit Apache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!