


Konfigurieren Sie Nginx, um einen Lastausgleich zu erreichen (Bild)
Wenn Unternehmen Probleme mit hoher Parallelität lösen, verfügen sie im Allgemeinen über zwei Verarbeitungsstrategien: Software und Hardware. Auf der Hardware kann ein Lastausgleichsmodul hinzugefügt werden, um eine große Anzahl von Anforderungen zu verteilen Engpass bei hoher Parallelität: Datenbank + Webserver-Lösung. Die am häufigsten verwendete Lösung zum Hinzufügen von Last auf der Frontschicht des Webservers ist die Verwendung von Nginx, um einen Lastausgleich zu erreichen.
1. Die Rolle des Lastausgleichs
1 Gemäß einem bestimmten Algorithmus [Gewichtung, Abfrage] werden Clientanforderungen an verschiedene Anwendungsserver weitergeleitet, wodurch der Druck auf einen einzelnen Server verringert und die Parallelität des Systems erhöht wird.
2. Fehlerbeseitigung
Verwenden Sie die Heartbeat-Erkennung, um festzustellen, ob der Anwendungsserver derzeit normal funktionieren kann. Wenn der Server ausfällt, wird die Anfrage automatisch an andere Anwendungsserver gesendet.
3. Wiederherstellen und Hinzufügen
(empfohlenes Lernen:
nginx-Tutorial) Wenn festgestellt wird, dass der ausgefallene Anwendungsserver seine Arbeit wieder aufgenommen hat, wird er wird automatisch hinzugefügt. Treten Sie dem Team bei, das Benutzeranfragen bearbeitet.
Verwendet außerdem zwei Tomcats, um zwei Anwendungsserver zu simulieren, die Portnummern sind 8080 und 8081
1. Die Lastverteilungsstrategie von Nginx
Der Upstream von Nginx unterstützt derzeit den Verteilungsalgorithmus:
1), Abfrage – 1:1-Verarbeitung der Anfragen (Standard)Jede Anfrage wird nacheinander in chronologischer Reihenfolge einem anderen Anwendungsserver zugewiesen. Wenn der Anwendungsserver ausfällt, wird er automatisch gelöscht und die verbleibenden werden weiterhin abgefragt.
2), Gewicht - Sie können es erhöhenDurch die Konfiguration des Gewichts geben Sie die Abfragewahrscheinlichkeit an, das Gewicht ist proportional zum Zugriffsverhältnis, das verwendet wird, wenn Die Leistung des Anwendungsservers ist im Durchschnitt nicht gut.
3), ip_hash-AlgorithmusJede Anfrage wird entsprechend dem Hash-Ergebnis der abgerufenen IP zugewiesen, sodass jeder Besucher einen festen Zugriff auf einen Anwendungsserver hat, Dies kann die gemeinsamen Probleme der Sitzung lösen.
2. Konfigurieren Sie die Lastausgleichs- und Verteilungsstrategie von Nginx
Dies kann durch Hinzufügen bestimmter Parameter nach der in den Upstream-Parametern hinzugefügten Anwendungsserver-IP erreicht werden, wie zum Beispiel:
upstream tomcatserver1 { server 192.168.72.49:8080 weight=3; server 192.168.72.49:8081; } server { listen 80; server_name 8080.max.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcatserver1; index index.html index.htm; } }
Bestanden Die obige Konfiguration kann erreicht werden. Beim Zugriff auf die Website
8080.max.com werden aufgrund der Konfiguration der proxy_pass-Adresse alle Anforderungen zunächst über den Nginx-Reverse-Proxy-Server geleitet , und dann wird der Server Wenn die Anforderung an den Zielhost weitergeleitet wird, die Upstream-Adresse von Tomcatsever1 lesen, die Verteilungsrichtlinie lesen und das Tomcat1-Gewicht auf 3 konfigurieren, sodass Nginx die meisten Anforderungen an Tomcat1 auf Server 49 sendet. Dies ist Port 8080; eine kleinere Anzahl wird an Tomcat1 auf Server 49 gesendet, was Port 8080 ist, um einen bedingten Lastausgleich zu erreichen. Diese Bedingung ist natürlich die Fähigkeit der Server 1 und 2 zur Verarbeitung von Hardware-Indizes.
3. Andere Konfigurationen von nginx
upstream myServer { server 192.168.72.49:9090 down; server 192.168.72.49:8080 weight=2; server 192.168.72.49:6060; server 192.168.72.49:7070 backup; }
1) down
bedeutet, dass der einzelne Frontserver vorübergehend nicht an der Last teilnimmt
2) Gewicht
Der Standardwert ist 1. Je größer das Gewicht, desto größer das Gewicht der Ladung.
3) max_fails
Die Anzahl der zulässigen Anforderungsfehler beträgt standardmäßig 1. Wenn die maximale Anzahl überschritten wird, wird der vom Modul „proxy_next_upstream“ definierte Fehler zurückgegeben
4) fail_timeout
Pausenzeit nach max_fails-Fehlern.
5) Backup
Wenn alle anderen Nicht-Backup-Maschinen ausgefallen oder ausgelastet sind, fordern Sie die Backup-Maschine an. Daher wird diese Maschine den geringsten Druck haben.
3. Hohe Verfügbarkeit mit NginxZusätzlich zur Erzielung einer hohen Verfügbarkeit der Website, d. h. Bereitstellung von n mehreren Servern zum Veröffentlichen desselben Dienstes und Hinzufügen eines Lastausgleichs Der Server verteilt Anforderungen, um sicherzustellen, dass jeder Server relativ gesättigte Anforderungen bei hoher Parallelität verarbeiten kann. Ebenso muss der Lastausgleichsserver hochverfügbar sein, um zu verhindern, dass die nachfolgenden Anwendungsserver unterbrochen werden und nicht arbeiten können, wenn der Lastausgleichsserver hängen bleibt.
Eine Lösung, um eine hohe Verfügbarkeit zu erreichen: Redundanz hinzufügen. Fügen Sie n Nginx-Server hinzu, um den oben genannten Single Point of Failure zu vermeiden.
4. ZusammenfassungZusammenfassend lässt sich sagen, dass der Lastausgleich, unabhängig davon, ob es sich um eine Vielzahl von Software- oder Hardwarelösungen handelt, hauptsächlich eine große Anzahl gleichzeitiger Anforderungen nach bestimmten Regeln verteilt Lassen Sie verschiedene Server damit umgehen, wodurch der momentane Druck auf einen bestimmten Server verringert und die Anti-Parallelitätsfähigkeit der Website verbessert wird. Der Autor glaubt, dass der Grund, warum Nginx beim Lastausgleich weit verbreitet ist, in seiner flexiblen Konfiguration liegt. Eine Nginx.conf-Datei löst die meisten Probleme, unabhängig davon, ob Nginx einen virtuellen Server erstellt, ein Nginx-Reverse-Proxy-Server oder Nginx, das in diesem Artikel vorgestellt wird . Der Lastausgleich wird fast immer in dieser Konfigurationsdatei durchgeführt. Der Server ist nur für die Einrichtung und Ausführung von Nginx verantwortlich. Darüber hinaus ist es leichtgewichtig und kann bessere Ergebnisse erzielen, ohne zu viele Serverressourcen zu beanspruchen.
Das obige ist der detaillierte Inhalt vonKonfigurieren Sie Nginx, um einen Lastausgleich zu erreichen (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

NGINX kann verwendet werden, um die Leistung, Sicherheit und Skalierbarkeit der Website zu verbessern. 1) Als Reverse Proxy und Load Balancer kann Nginx Back-End-Dienste optimieren und den Verkehr teilen. 2) Durch ereignisgesteuerte und asynchrone Architektur verarbeitet Nginx effizient hohe gleichzeitige Verbindungen. 3) Konfigurationsdateien ermöglichen eine flexible Definition von Regeln wie statischer Dateiservice und Ladeausgleich. 4) Optimierungsvorschläge umfassen die Aktivierung der GZIP -Komprimierung, die Verwendung von Cache und das Einstellen des Arbeitsprozesses.

NginxUnit unterstützt mehrere Programmiersprachen und wird durch modulares Design implementiert. 1. Ladesprachmodul: Laden Sie das entsprechende Modul gemäß der Konfigurationsdatei. 2. Anwendungsstart: Führen Sie den Anwendungscode aus, wenn die aufrufende Sprache ausgeführt wird. 3. Anforderungsverarbeitung: Leiten Sie die Anfrage an die Anwendungsinstanz weiter. 4. Antwortrückgabe: Gibt die verarbeitete Antwort an den Client zurück.

Nginx und Apache haben ihre eigenen Vor- und Nachteile und eignen sich für verschiedene Szenarien. 1.Nginx ist für hohe Parallelitäts- und geringe Ressourcenverbrauchsszenarien geeignet. 2. Apache eignet sich für Szenarien, in denen komplexe Konfigurationen und reichhaltige Module erforderlich sind. Durch den Vergleich ihrer Kernfunktionen, Leistungsunterschiede und Best Practices können Sie die Serversoftware auswählen, die Ihren Anforderungen am besten entspricht.

Frage: Wie starte ich Nginx? Antwort: Installieren Sie Nginx Startup Nginx -Verifizierung Nginx Is Nginx Start Erkunden

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

To shut down the Nginx service, follow these steps: Determine the installation type: Red Hat/CentOS (systemctl status nginx) or Debian/Ubuntu (service nginx status) Stop the service: Red Hat/CentOS (systemctl stop nginx) or Debian/Ubuntu (service nginx stop) Disable automatic startup (optional): Red Hat/CentOS (systemctl disabled nginx) or Debian/Ubuntu (syst

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Der Server verfügt nicht über die Berechtigung, auf die angeforderte Ressource zuzugreifen, was zu einem NGINX 403 -Fehler führt. Zu den Lösungen gehören: Überprüfung der Dateiberechtigungen. Überprüfen Sie die Konfiguration .htaccess. Überprüfen Sie die Nginx -Konfiguration. Konfigurieren Sie Selinux -Berechtigungen. Überprüfen Sie die Firewall -Regeln. Fehlerbehebung bei anderen Ursachen wie Browserproblemen, Serverausfällen oder anderen möglichen Fehlern.


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

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Dreamweaver CS6
Visuelle Webentwicklungstools

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft