


So verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich
So verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich
Einführung:
FastAPI und Nginx sind zwei sehr beliebte Webentwicklungstools. FastAPI ist ein leistungsstarkes Python-Framework und Nginx ist ein leistungsstarker Reverse-Proxy-Server. Die gemeinsame Verwendung dieser beiden Tools kann die Leistung und Zuverlässigkeit Ihrer Webanwendungen verbessern. In diesem Artikel erfahren Sie, wie Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich verwenden.
- Was ist Reverse Proxy und Load Balancing?
Ein Reverse-Proxy ist ein Netzwerkdienst, der zur Weiterleitung von Client-Anfragen an interne Netzwerkressourcen verwendet wird. Im Gegensatz zum Forward-Proxy verbirgt der Reverse-Proxy-Server die Details des Back-End-Servers und der Client kann nicht direkt auf den Back-End-Server zugreifen. Der Reverse-Proxy-Server leitet Client-Anfragen nach bestimmten Regeln an den Backend-Server weiter und sorgt so für Sicherheit und Lastausgleich.
Load Balancing ist eine Technologie, die Anfragen an mehrere Server verteilt, um die Systemleistung und -zuverlässigkeit zu verbessern. Wenn ein Server nicht alle Anfragen verarbeiten kann, verteilt der Lastausgleich die Anfragen auf andere verfügbare Server und verteilt so die Last zwischen den Servern.
- Nginx-Reverse-Proxy und Lastausgleich konfigurieren
Zuerst müssen wir den Nginx-Server installieren und konfigurieren. Unter Ubuntu können Sie zur Installation den folgenden Befehl verwenden:
sudo apt update sudo apt install nginx
Nachdem die Installation abgeschlossen ist, müssen wir die Nginx-Konfigurationsdatei ändern. Öffnen Sie die Nginx-Konfigurationsdatei mit dem folgenden Befehl:
sudo nano /etc/nginx/sites-available/default
In der Konfigurationsdatei müssen wir die folgende Konfiguration hinzufügen:
upstream backend { server 127.0.0.1:8000; server 127.0.0.1:8001; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
In der obigen Konfiguration haben wir einen Upstream-Servercluster mit dem Namen „backend“ definiert. Es gibt zwei Server im Cluster, die jeweils die Ports 8000 und 8001 überwachen. Anschließend haben wir einen Serverblock definiert, der auf Port 80 lauscht und Anfragen an Server im „Backend“-Cluster weiterleitet. Abschließend legen wir einige Header für die Proxy-Anfrage fest.
Nachdem Sie die Konfigurationsdatei gespeichert und beendet haben, starten Sie den Nginx-Server neu:
sudo systemctl restart nginx
- Erstellen einer Backend-Anwendung mit FastAPI
Als nächstes erstellen wir eine einfache Backend-Anwendung mit FastAPI. Stellen Sie zunächst sicher, dass FastAPI und uvicorn installiert sind. Es kann mit dem folgenden Befehl installiert werden:
pip install fastapi uvicorn
Erstellen Sie dann eine Datei mit dem Namen „main.py“ und fügen Sie den folgenden Code hinzu:
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"}
Nach dem Speichern der Datei starten Sie die FastAPI-Anwendung mit dem folgenden Befehl:
uvicorn main:app --reload
Jetzt überwacht unsere FastAPI-Anwendung den lokalen Port 8000.
- Reverse-Proxy und Lastausgleich testen
Durch den Zugriff auf „http://localhost“ können wir sehen, dass Nginx die Anfrage an die FastAPI-Anwendung weiterleitet und eine „Hello World“-Antwort zurückgibt.
Um den Lastausgleich zu testen, können wir die Datei „main.py“ kopieren und die FastAPI-Anwendung auf einem anderen Port starten. Kopieren Sie beispielsweise „main.py“ nach „main2.py“ und starten Sie die Anwendung auf Port 8001.
Dann verwenden Sie den folgenden Befehl, um die zweite FastAPI-Anwendung zu starten:
uvicorn main2:app --port 8001 --reload
Zu diesem Zeitpunkt hat Nginx den Lastausgleich eingerichtet und Anfragen werden auf die beiden FastAPI-Anwendungen verteilt.
Fazit:
Durch die Kombination von FastAPI und Nginx können wir Reverse-Proxy- und Lastausgleichsfunktionen implementieren, um die Leistung und Zuverlässigkeit von Webanwendungen zu verbessern. Mit der Reverse-Proxy-Funktion von Nginx können wir die Details des Backend-Servers verbergen und für Sicherheit sorgen. Durch die Lastausgleichsfunktion können wir die Last auf mehrere Server verteilen, um die Systemleistung und -zuverlässigkeit zu verbessern. Ich hoffe, dieser Artikel kann Ihnen dabei helfen, zu lernen, wie Sie Nginx für Reverse-Proxy und Lastausgleich in FastAPI verwenden.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Für die Konvertierung einer HTML-Datei in eine URL ist ein Webserver erforderlich. Dazu sind die folgenden Schritte erforderlich: Besorgen Sie sich einen Webserver. Richten Sie einen Webserver ein. Laden Sie eine HTML-Datei hoch. Erstellen Sie einen Domainnamen. Leiten Sie die Anfrage weiter.

Lastausgleichsstrategien sind in Java-Frameworks für eine effiziente Verteilung von Anforderungen von entscheidender Bedeutung. Abhängig von der Parallelitätssituation weisen verschiedene Strategien unterschiedliche Leistungen auf: Abfragemethode: Stabile Leistung bei geringer Parallelität. Gewichtete Abfragemethode: Die Leistung ähnelt der Abfragemethode bei geringer Parallelität. Methode mit der geringsten Anzahl von Verbindungen: beste Leistung bei hoher Parallelität. Zufallsmethode: einfach, aber schlechte Leistung. Konsistentes Hashing: Serverlast ausgleichen. In Kombination mit praktischen Fällen erklärt dieser Artikel, wie Sie auf der Grundlage von Leistungsdaten geeignete Strategien auswählen, um die Anwendungsleistung deutlich zu verbessern.

Um eine PHP-Website erfolgreich bereitzustellen und zu warten, müssen Sie die folgenden Schritte ausführen: Wählen Sie einen Webserver (z. B. Apache oder Nginx). Installieren Sie PHP. Erstellen Sie eine Datenbank und verbinden Sie PHP. Laden Sie Code auf den Server hoch. Richten Sie den Domänennamen und die DNS-Überwachung der Website-Wartung ein Zu den Schritten gehören die Aktualisierung von PHP und Webservern sowie die Sicherung der Website, die Überwachung von Fehlerprotokollen und die Aktualisierung von Inhalten.

Eine wichtige Aufgabe für Linux-Administratoren besteht darin, den Server vor illegalen Angriffen oder Zugriffen zu schützen. Linux-Systeme verfügen standardmäßig über gut konfigurierte Firewalls wie iptables, Uncomplicated Firewall (UFW), ConfigServerSecurityFirewall (CSF) usw., die eine Vielzahl von Angriffen verhindern können. Jeder mit dem Internet verbundene Computer ist ein potenzielles Ziel für böswillige Angriffe. Es gibt ein Tool namens Fail2Ban, mit dem illegale Zugriffe auf den Server eingedämmt werden können. Was ist Fail2Ban? Fail2Ban[1] ist eine Intrusion-Prevention-Software, die Server vor Brute-Force-Angriffen schützt. Es ist in der Programmiersprache Python geschrieben

Heute werde ich Sie durch die Installation von Nginx in einer Linux-Umgebung führen. Das hier verwendete Linux-System ist CentOS7.2. Bereiten Sie die Installationstools vor. 1. Laden Sie Nginx von der offiziellen Nginx-Website herunter. Die hier verwendete Version ist: 1.13.6.2. Laden Sie das heruntergeladene Nginx auf Linux hoch. Hier wird das Verzeichnis /opt/nginx verwendet. Führen Sie zum Dekomprimieren „tar-zxvfnginx-1.13.6.tar.gz“ aus. 3. Wechseln Sie in das Verzeichnis /opt/nginx/nginx-1.13.6 und führen Sie ./configure für die Erstkonfiguration aus. Wenn die folgende Eingabeaufforderung erscheint, bedeutet dies, dass PCRE nicht auf dem Computer installiert ist und Nginx dies tun muss

Nachdem yum Keepalived installiert hat, konfigurieren Sie die Keepalived-Konfigurationsdatei. In den Keepalived-Konfigurationsdateien ist der Netzwerkkartenname des aktuellen VIP normalerweise als verfügbare IP ausgewählt. Es gibt viele LAN-Umgebungen, daher ist diese VIP eine Intranet-IP im selben Netzwerksegment wie die beiden Maschinen. Bei der Verwendung in einer externen Netzwerkumgebung spielt es keine Rolle, ob es sich im selben Netzwerksegment befindet, solange der Client darauf zugreifen kann. Stoppen Sie den Nginx-Dienst und starten Sie den Keepalived-Dienst. Wenn er nicht gestartet werden kann und fehlschlägt, liegt im Grunde ein Problem mit den Konfigurationsdateien und Skripten oder ein Präventionsproblem vor.

So implementieren Sie Best Practices für die PHP-Sicherheit PHP ist eine der beliebtesten Backend-Webprogrammiersprachen, die zum Erstellen dynamischer und interaktiver Websites verwendet wird. Allerdings kann PHP-Code verschiedene Sicherheitslücken aufweisen. Um Ihre Webanwendungen vor diesen Bedrohungen zu schützen, ist die Implementierung bewährter Sicherheitspraktiken von entscheidender Bedeutung. Eingabevalidierung Die Eingabevalidierung ist ein wichtiger erster Schritt zur Validierung von Benutzereingaben und zur Verhinderung böswilliger Eingaben wie SQL-Injection. PHP bietet eine Vielzahl von Eingabevalidierungsfunktionen, wie zum Beispiel filter_var() und preg_match(). Beispiel: $username=filter_var($_POST['username'],FILTER_SANIT

Der Zugriff auf WordPress -Site -Datei ist eingeschränkt: Fehlerbehebung Der Grund, warum auf die TXT -Datei in letzter Zeit nicht zugegriffen werden kann. Einige Benutzer haben ein Problem beim Konfigurieren des MINI -Programms Business Domain Name: � ...
