Heim Betrieb und Instandhaltung Nginx Konfigurieren Sie Nginx, um einen Lastausgleich zu erreichen (Bild)

Konfigurieren Sie Nginx, um einen Lastausgleich zu erreichen (Bild)

Nov 25, 2019 pm 03:48 PM
nginx 负载均衡

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.

Konfigurieren Sie Nginx, um einen Lastausgleich zu erreichen (Bild)

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.

2. Nginx implementiert den Lastausgleich

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öhen

Durch 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-Algorithmus

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

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

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 Nginx

Zusä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. Zusammenfassung

Zusammenfassend 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!

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 KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

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)

So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx Apr 14, 2025 pm 12:18 PM

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

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.

So überprüfen Sie die Nginx -Version So überprüfen Sie die Nginx -Version Apr 14, 2025 am 11:57 AM

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

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.

So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

So starten Sie einen Container von Docker So starten Sie einen Container von Docker Apr 15, 2025 pm 12:27 PM

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

So erstellen Sie Container für Docker So erstellen Sie Container für Docker Apr 15, 2025 pm 12:18 PM

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

See all articles