[Einführung] Lastausgleich ist etwas, das unsere stark frequentierte Website durchführen muss. Jetzt werde ich Ihnen die Lastausgleichskonfigurationsmethode auf dem Nginx-Server vorstellen hilfreich für Schüler, die es brauchen. Lastausgleich Lassen Sie uns zunächst kurz verstehen, was Lastausgleich ist. Lassen Sie mich Ihnen die Lastausgleichskonfigurationsmethode auf dem Nginx-Server vorstellen. Ich hoffe, dass sie für Schüler in Not hilfreich ist.
Lastausgleich
Lassen Sie uns zunächst kurz verstehen, was Lastausgleich ist. Wenn Sie es wörtlich verstehen, können Sie es erklären N Server Die Last wird geteilt gleichmäßig, und ein bestimmter Server wird aufgrund einer hohen Auslastung auf einem bestimmten Server nicht im Leerlauf sein. Die Voraussetzung für den Lastausgleich besteht darin, dass er von mehreren Servern erreicht werden kann, dh mehr als zwei Server sind ausreichend. TestumgebungDa kein Server vorhanden ist, hostet dieser Test direkt den angegebenen Domänennamen und installiert dann drei CentOS in VMware.
Testdomänenname: a.com
A-Server-IP: 192.168.5.149 (Haupt)
Ein Server wird als Hauptserver verwendet, der Domänenname wird direkt auf A-Server (192.168.5.149) aufgelöst und die A-Server-Last wird auf B-Server verteilt ( 192.168.5.27) und C auf dem Server (192.168.5.126).
Auflösung des Domänennamens
Da es sich nicht um eine reale Umgebung handelt, lautet der Domänenname nur zu Testzwecken a.com, sodass die Auflösung von a.com nur in festgelegt werden kann hosts-Datei.
Öffnen: C:WindowsSystem32driversetchosts
Öffnen Sie nginx.conf, die Datei Der Speicherort befindet sich im Nginx-Installationsverzeichnis conf des Verzeichnisses.
Fügen Sie den folgenden Code im http-Bereich hinzu
upstream a.com {
server 192.168.5.126:80;
}
server{
listen 80;
server_name a.com;
Proxy_Pass http://a.com;
Proxy_set_header Host $host; Proxy_set_header X -Real-IP $remote_addr;
Proxy_set_header ;
server_name a.com;
root /data0 /htdocs/www; 🎜>Wenn ich auf a.com zugreife, gehe ich zu B bzw. C und schreibe eine index.html-Datei mit unterschiedlichem Inhalt unter den Server, um ihn zu unterscheiden.
Öffnen Sie den Browser, um auf a.com Refresh zuzugreifen. Sie werden feststellen, dass alle Anfragen vom Hauptserver (192.168.5.149) an Server B (192.168.5.27) und Server C (192.168.5.126) verteilt werden. . Erzielter Lastausgleichseffekt.
B-Server-Verarbeitungsseite
C-Server-Verarbeitungsseite
Wird der Zugriff beeinträchtigt, wenn ein Server ausfällt?
Schauen wir uns zunächst das Beispiel an. Nehmen wir basierend auf dem obigen Beispiel an, dass der C-Server 192.168.126 der Maschine ausgefallen ist (da es unmöglich ist, die Ausfallzeit zu simulieren, habe ich den C-Server heruntergefahren). und dann noch einmal besuchen.
Wir haben festgestellt, dass der C-Server (192.168.5.126) zwar ausgefallen war, dies jedoch keinen Einfluss auf den Website-Zugriff hatte. Auf diese Weise müssen Sie sich keine Sorgen darüber machen, dass die gesamte Site heruntergefahren wird, weil ein bestimmter Computer im Lastausgleichsmodus ausgefallen ist.
Was ist, wenn b.com auch einen Lastausgleich einrichten muss?
Es ist sehr einfach, genau wie bei den.com-Einstellungen. Wie folgt:
Fügen Sie den folgenden Code zur nginx.conf des Hauptservers (192.168.5.149) hinzu:
Upstream b.com {
server 192.168.5.150:80;
server 192.168.5.151:80;
}
server{
server_name b.com;
location / {
Proxy_pass http://b.com;
Proxy_set_header X-Real-IP $re Mote_addr; - For$proxy_add_x_forwarded_for;
server_name;
index index.html;
Nginx speichern und neu starten
Nach Abschluss der folgenden Schritte können Sie die Lastausgleichskonfiguration von b.com implementieren.
In den obigen Beispielen haben wir den Lastausgleich des Hauptservers auf andere Server angewendet, sodass der Hauptserver selbst zur Serverliste hinzugefügt werden kann, sodass er nicht durch die reine Weiterleitungsfunktion eines Servers verschwendet wird , und Ja, wir sind auch an der Erbringung von Dienstleistungen beteiligt.
Wie im obigen Fall drei Server:
A-Server-IP: 192.168.5.149 (Hauptserver)
B-Server-IP: 192.168.5.27
1. Der Hauptserver wird an andere IPs weitergeleitet, und andere IP-Server sind normal . Verarbeitung;
2. Der Hauptserver leitet es an seine eigene IP weiter und weist diese dann immer dem lokalen Computer zu.
Wie kann dieses Problem gelöst werden? Da Port 80 zur Überwachung der Lastausgleichsverarbeitung verwendet wurde, kann Port 80 auf diesem Server nicht mehr zur Verarbeitung von Zugriffsanfragen für a.com verwendet werden und es muss ein neuer verwendet werden. Also haben wir den folgenden Code zur nginx.conf des Hauptservers hinzugefügt:
server{
server_name a.com;index index.html; /data0 /htdocs/www;
}Starten Sie nginx neu und geben Sie a.com:8080 in den Browser ein, um zu sehen, ob Sie darauf zugreifen können. Auf das Ergebnis kann normal zugegriffen werdenDa es normal zugegriffen werden kann, können wir den Hauptserver zum Upstream hinzufügen, aber der Port muss geändert werden, wie im folgenden Code gezeigt: Upstream a.com {
Server 192.168.5.126:80;
Server 127.0.0.1:8080;🎜>
Da die Hauptserver-IP 192.168 .5.149 oder 1 können hier hinzugefügt werden. 27.0 .0.1 ist akzeptabel, beides bedeutet Zugriff auf sich selbst.
Starten Sie Nginx neu und besuchen Sie dann a.com, um zu sehen, ob es dem Hauptserver zugewiesen wird.
Der Hauptserver kann dem Dienst auch normal beitreten.
Abschließend
Erstens gibt es den Lastausgleich nicht nur bei Nginx. Der berühmte Dingding-Apache hat ihn auch, aber seine Leistung ist möglicherweise nicht so gut wie bei Nginx.
4. Wenn ein Server ausfällt, hat dies keinen Einfluss auf den normalen Betrieb der Website.
Ursprüngliche Adresse:
Das Obige stellt eine detaillierte Erklärung des Nginx-Lastausgleichskonfigurationsbeispiels vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.