Zweck: Wenn Benutzer auf den Nginx-Server zugreifen, wird ihre Last über Nginx auf die Server Web1 und Web2 verteilt.
Nginx-Lastausgleichsserver nginx.conf
Die Konfigurationskommentare lauten wie folgt:
Veranstaltungen { verwenden Sie epoll; Arbeiterverbindungen 65535; } http { ##Upstream-Lastausgleich, vier Planungsalgorithmen## #Planungsalgorithmus 1: Polling. Jede Anfrage wird in chronologischer Reihenfolge nacheinander einem anderen Backend-Server zugewiesen. #Bei einem Ausfall eines Backend-Servers wird das fehlerhafte System automatisch entfernt, so dass der Benutzerzugriff nicht beeinträchtigt wird Upstream-Webhost { Server 192.168.0.5:6666; Server 192.168.0.7:6666; } #Planungsalgorithmus 2: Gewicht. Sie können Gewichte basierend auf der Maschinenkonfiguration definieren. Je höher das Gewicht, desto größer ist die Wahrscheinlichkeit einer Zuweisung. Upstream-Webhost { Server 192.168.0.5:6666 Gewicht=2; Server 192.168.0.7:6666 Gewicht=3; } #Planungsalgorithmus 3: ip_hash. Jede Anfrage wird entsprechend dem Hash-Ergebnis der Zugriffs-IP zugewiesen, sodass Besucher mit derselben IP-Adresse auf einen festen Backend-Server zugreifen. #Löst effektiv das Sitzungsfreigabeproblem dynamischer Webseiten Upstream-Webhost { ip_hash; Server 192.168.0.5:6666; Server 192.168.0.7:6666; } #Planungsalgorithmus 4: url_hash (muss ein Plug-In eines Drittanbieters installieren). Diese Methode weist Anforderungen entsprechend dem Hash-Ergebnis der Zugriffs-URL zu. #Das Weiterleiten jeder URL an denselben Backend-Server kann die Effizienz des Backend-Cache-Servers weiter verbessern. #Nginx selbst unterstützt url_hash nicht. Wenn Sie diesen Planungsalgorithmus verwenden müssen, müssen Sie das Nginx-Hash-Paket installieren Upstream-Webhost { Server 192.168.0.5:6666; Server 192.168.0.7:6666; Hashwert für $request_uri; } #Planungsalgorithmus 5: fair (muss ein Plug-In eines Drittanbieters installieren). Dies ist ein intelligenterer Lastausgleichsalgorithmus als die beiden oben genannten. #Dieser Algorithmus kann die Last basierend auf der Seitengröße und der Ladezeit intelligent ausgleichen, d. h. Anforderungen basierend auf der Antwortzeit des Back-End-Servers verteilen. # Priorisieren Sie die kurze Reaktionszeit. Nginx selbst unterstützt Fair nicht. Wenn Sie diesen Planungsalgorithmus verwenden müssen, müssen Sie das Modul upstream_fair von Nginx herunterladen.
#Konfiguration des virtuellen Hosts (mit Planungsalgorithmus 3: ip_hash) Server { hören Sie 80; Servername mongo.demo.com; # Reverse-Proxy für "/" aktivieren Standort / { Proxy-Passwort http://Webhost; Proxy_Redirect aus; Proxy_Set_Header X-Real-IP $Remote_Addr; #Der Backend-Webserver kann die echte IP des Benutzers über X-Forwarded-For erhalten proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; #Nachfolgend sind einige optionale Reverse-Proxy-Konfigurationen aufgeführt. Proxy_Set_Header Host $host; client_max_body_size 10m; #Die maximale Anzahl von Bytes einer einzelnen Datei, die vom Client angefordert werden darf client_body_buffer_size 128k; #Die maximale Anzahl an Bytes, die der Pufferproxy die Clientanforderung puffert, proxy_connect_timeout 90; #Nginx-Verbindungstimeout mit dem Backend-Server (Proxy-Verbindungstimeout) proxy_send_timeout 90; #Datenrückgabezeit des Backend-Servers (Proxy-Sende-Timeout) proxy_read_timeout 90; #Nach erfolgreicher Verbindung die Antwortzeit des Backend-Servers (Proxy-Empfangs-Timeout) proxy_buffer_size 4k; #Stellen Sie die Puffergröße des Proxyservers (nginx) ein, um Benutzerheaderinformationen zu speichern proxy_buffers 4 32k; #proxy_buffers Puffer, die durchschnittliche Webseitengröße ist auf unter 32k eingestellt proxy_busy_buffers_size 64k; #Puffergröße bei hoher Belastung (proxy_buffers*2) Proxy_Temp_File_Schreibgröße 64k; #Legen Sie die Größe des Cache-Ordners fest. Wenn sie größer als dieser Wert ist, wird sie vom Upstream-Server übertragen. } } } Konfigurieren Sie 192.168.0.4 (Nginx-Server)
Erstellen Sie einen Ordner zum Speichern der Konfigurationsdatei
$ mkdir -p /opt/confs $ vim /opt/confs/nginx.conf Veranstaltungen { verwenden Sie epoll; Arbeiterverbindungen 65535; } http { Upstream-Webhost { ip_hash; Server 192.168.0.5:6666; Server 192.168.0.7:6666; } Server { hören Sie 80; Servername mongo.demo.com; Standort / { Proxy-Passwort http://Webhost; Proxy_Redirect aus; Proxy_Set_Header X-Real-IP $Remote_Addr; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy_Set_Header Host $host; maximale Körpergröße des Kunden: 10 m; Client-Body-Puffergröße 128k; Proxy_Verbindungstimeout 90; Proxy_Sendezeitüberschreitung 90; Proxy_Lese_Timeout 90; Proxy-Puffergröße 4k; Proxy-Puffer 4 32k; Proxy_Busy_Buffer_Größe 64k; Proxy_Temp_File_Schreibgröße 64k; } } } Starten Sie den Lastausgleichsserver 192.168.0.4 (Nginx-Server).
Konfigurieren Sie 192.168.0.5 (Nginx-Node1/Nginx-Web1)
Erstellen Sie einen Ordner zum Speichern von Webseiten
$ mkdir -p /opt/html $ vim /opt/html/index.html Der bearbeitete Inhalt lautet wie folgt:
Der Host ist 192.168.0.5 - Knoten 1
Starten Sie 192.168.0.5 (Nginx-Node1/Nginx-Web1)
Konfigurieren Sie 192.168.0.7 (Nginx-Node2/Nginx-Web2)
Erstellen Sie einen Ordner zum Speichern von Webseiten
$ mkdir -p /opt/html $ vim /opt/html/index.html Der bearbeitete Inhalt lautet wie folgt:
Der Host ist 192.168.0.7 - Knoten 2
Starten Sie 192.168.0.7 (Nginx-Node2/Nginx-Web2)
Dies ist das Ende dieses Artikels über die Nginx-Konfiguration zum Erreichen des Lastausgleichs mehrerer Server. Weitere relevante Inhalte zum Lastausgleich der Nginx-Konfiguration finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!
Das könnte Sie auch interessieren:
Das Prinzip und die Konfiguration des Nginx-Lastausgleichs sowie der dynamischen und statischen Trennung
Konfigurationshandbuch für den Lastenausgleich auf Ebene 4 von Nginx
So konfigurieren Sie den Nginx-Lastausgleich
Analyse des Prinzips von Nginx + Tomcat zur Erreichung eines Lastausgleichs sowie einer dynamischen und statischen Trennung
Was ist Nginx-Lastausgleich und wie wird er konfiguriert?
Implementierungsmethode des Nginx+Tomcat-Lastausgleichsclusters
Docker Nginx-Container und Tomcat-Container zur Realisierung von Lastausgleich und dynamischen und statischen Trennungsvorgängen
Detaillierte Erläuterung zur Verwendung von Nginx + Consul + Upsync zum Erreichen eines dynamischen Lastausgleichs