Heim Betrieb und Instandhaltung Apache So kombinieren Sie Flasche mit Apache

So kombinieren Sie Flasche mit Apache

Oct 29, 2019 am 11:17 AM
apache

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!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ist C++ Front-End oder Back-End? Ist C++ Front-End oder Back-End? Apr 22, 2024 pm 05:33 PM

Ist C++ Front-End oder Back-End?

Leistungsvergleich des PHP-Frameworks: Der ultimative Showdown zwischen Geschwindigkeit und Effizienz Leistungsvergleich des PHP-Frameworks: Der ultimative Showdown zwischen Geschwindigkeit und Effizienz Apr 30, 2024 pm 12:27 PM

Leistungsvergleich des PHP-Frameworks: Der ultimative Showdown zwischen Geschwindigkeit und Effizienz

So generieren Sie eine URL aus einer HTML-Datei So generieren Sie eine URL aus einer HTML-Datei Apr 21, 2024 pm 12:57 PM

So generieren Sie eine URL aus einer HTML-Datei

Das Evasive-Modul schützt Ihre Website vor DOS-Angriffen auf Anwendungsebene Das Evasive-Modul schützt Ihre Website vor DOS-Angriffen auf Anwendungsebene Apr 30, 2024 pm 05:34 PM

Das Evasive-Modul schützt Ihre Website vor DOS-Angriffen auf Anwendungsebene

Integration und Erweiterung der Parallelitätskontrolle von Golang-Funktionen und Bibliotheken von Drittanbietern Integration und Erweiterung der Parallelitätskontrolle von Golang-Funktionen und Bibliotheken von Drittanbietern Apr 25, 2024 am 09:27 AM

Integration und Erweiterung der Parallelitätskontrolle von Golang-Funktionen und Bibliotheken von Drittanbietern

Wie führt man Parallelitätstests und Debugging in der Java-Parallelprogrammierung durch? Wie führt man Parallelitätstests und Debugging in der Java-Parallelprogrammierung durch? May 09, 2024 am 09:33 AM

Wie führt man Parallelitätstests und Debugging in der Java-Parallelprogrammierung durch?

So fügen Sie einen Server in Eclipse hinzu So fügen Sie einen Server in Eclipse hinzu May 05, 2024 pm 07:27 PM

So fügen Sie einen Server in Eclipse hinzu

Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform May 09, 2024 am 09:01 AM

Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform

See all articles