So kombinieren Sie Flasche mit Apache

(*-*)浩
Freigeben: 2019-10-29 11:18:38
Original
3547 Leute haben es durchsucht

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.

So kombinieren Sie Flasche mit Apache

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 dem Login kopieren

Nach der Änderung:

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
Nach dem Login kopieren

4. Ändern Sie den Stammpfad des Dokuments in Ihren eigenen Dateipfad

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
Nach dem Login kopieren

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
Nach dem Login kopieren

(3) Nachdem der obige Befehl erfolgreich ausgeführt wurde, können wir drei Informationen erhalten:

So kombinieren Sie Flasche mit Apache (4) Dann verwenden Sie diese drei Informationen, um die .so-Datei zu ersetzen und Fügen Sie es der Apache-Konfigurationsdatei hinzu. Medium:

So kombinieren Sie Flasche mit Apache 6. Konfigurationsseite (wichtiger Punkt):

# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
Nach dem Login kopieren

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>
Nach dem Login kopieren

Die obigen Anweisungen zur Site-Konfiguration:

(1) Projektpfad (Es muss nicht im Apache-Verzeichnis abgelegt werden):

DocumentRoot E:\Environment\Apache\Apache24\text_web
Nach dem Login kopieren

(2)wsgi-Modul-Startdatei (Schlüsselpunkt):

WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi
Nach dem Login kopieren

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>
Nach dem Login kopieren

An diesem Punkt wurde unsere httpd.conf-Datei konfiguriert.

2. Geben Sie die Konfiguration des Flask-Projekts ein:

Projektverzeichnis:

So kombinieren Sie Flasche mit Apache

1 , test.wsgi-Dateibeschreibung:

import sys
sys.path.insert(0, "E:/Environment/Apache/Apache24/text_web") #项目路径
Nach dem Login kopieren

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(&#39;/hello&#39;)
def hello_world():
    return &#39;Hello World!&#39;
 
if __name__ == &#39;__main__&#39;:
    app.run()
Nach dem Login kopieren

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
Nach dem Login kopieren

Apache starten:

httpd -k start
Nach dem Login kopieren

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
Nach dem Login kopieren

Starten Sie den Apache-Dienst neu:

httpd -k restart
Nach dem Login kopieren

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 Apache24logserror.lo

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage