Implementierungsprozess des Nginx-Hochverfügbarkeitsclusters

Implementierungsprozess des Nginx-Hochverfügbarkeitsclusters

Dieser Artikel stellt hauptsächlich den Implementierungsprozess des Nginx-Hochverfügbarkeitsclusters vor. Der Beispielcode in diesem Artikel ist sehr detailliert und hat einen gewissen Referenzwert für jedermanns Studium oder Arbeit. Freunde, die ihn brauchen, können ihn zu Rate ziehen.

1. Konfiguration:

(1) Es werden zwei Nginx-Server benötigt. (2) Es wird Keepalived benötigt. (3) Es wird eine virtuelle IP benötigt.

2. Vorbereitung für Hochverfügbarkeitskonfiguration

(1) Es werden zwei Server benötigt: 192.168.180.113 und 192.168.180.112 (2) Installieren Sie nginx auf beiden Servern (3) Installieren Sie keepalived auf beiden Servern

3. Installieren Sie Keepalived auf zwei Servern

(1) Installation mit dem Befehl yum

(2) Nach der Installation wird in etc. ein Verzeichnis namens keepalived und eine Datei namens keepalived.conf erstellt.

[root@topcheer dev]# yum install keepalived -y
Geladene Plugins: fastestmirror, langpacks
Spiegelgeschwindigkeiten aus zwischengespeicherter Hostdatei laden
 * Basis: mirrors.cn99.com
 * epel: ftp.riken.jp
 * Extras: mirrors.cn99.com
 * Aktualisierungen: mirror.lzu.edu.cn
gitlab_gitlab-ce/x86_64/signature | 836 B 00:00:00
gitlab_gitlab-ce/x86_64/signature | 1,0 kB 00:00:00 !!!
gitlab_gitlab-ce-source/signature | 836 B 00:00:00
gitlab_gitlab-ce-source/signature | 951 B 00:00:00 !!!
Abhängigkeiten auflösen--> Transaktionen prüfen---> Paket keepalived.x86_64.0.1.3.5-16.el7 wird installiert--> Abhängigkeit libnetsnmpmibs.so.31()(64bit) wird verarbeitet, die vom Paket keepalived-1.3.5-16.el7.x86_64 benötigt wird--> Abhängigkeit libnetsnmpagent.so.31()(64bit) wird verarbeitet, die vom Paket keepalived-1.3.5-16.el7.x86_64 benötigt wird--> Transaktionen prüfen---> Paket net-snmp-agent-libs.x86_64.1.5.7.2-43.el7 wird installiert--> Abhängigkeitsauflösung abgeschlossen​
Abhängigkeitsauflösung
=====================================================================================================================================
 Paketarchitektur Version Quellgröße === ...
Installieren:
 keepalived x86_64 1.3.5-16.el7 Basis 331 k
Für Abhängigkeiten installieren:
 net-snmp-agent-libs x86_64 1:5.7.2-43.el7 Basis 706 k
​
Transaktionszusammenfassung = ...
1 Paket installieren (+1 abhängiges Paket)
​
Downloads gesamt: 1,0 Mio.
Baugröße: 3,0 M
Pakete herunterladen:
(1/2): net-snmp-agent-libs-5.7.2-43.el7.x86_64.rpm | 706 kB 00:00:00
(2/2): keepalived-1.3.5-16.el7.x86_64.rpm | 331 kB 00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Gesamt 1,8 MB/s | 1,0 MB 00:00:00
Ausführen einer Transaktionsprüfung
Ausführen eines Transaktionstests
Transaktionstest erfolgreich
Transaktion wird ausgeführt
 Installieren: 1:net-snmp-agent-libs-5.7.2-43.el7.x86_64 1/2
 Installieren: keepalived-1.3.5-16.el7.x86_64 2/2
 Überprüfung: keepalived-1.3.5-16.el7.x86_64 1/2
 Überprüfung: 1:net-snmp-agent-libs-5.7.2-43.el7.x86_64 2/2
​
Eingerichtet:
 keepalived.x86_64 0:1.3.5-16.el7
​
Als Abhängigkeit installiert:
 net-snmp-agent-libs.x86_64 1:5.7.2-43.el7
​
vollständig!

4. Ändern Sie die Konfigurationsdatei

Beide müssen ersetzt werden, ein Master und ein Slave

[root@topcheer keepalived]# cat keepalived.conf
global_defs {
  Benachrichtigungs-E-Mail {
  [email protected]
  [email protected]
  [email protected]
  }
  Benachrichtigungs-E-Mail von [email protected]
  SMTP-Server 192.168.180.113
  smtp_connect_timeout 30
  Router-ID LVS_DEVEL
  }
  vrrp_script chk_http_port {
  Skript "/usr/local/src/nginx_check.sh"
  Intervall 2 # (Intervall zwischen der Ausführung des Erkennungsskripts)
  Gewicht 2
  }
  vrrp_instance VI_1 {
   state BACKUP # Ändere MASTER in BACKUP auf dem Backup-Server
   Schnittstelle ens33 //Netzwerkkarte virtual_router_id 51 # Die virtual_router_id der Master- und Backup-Maschinen müssen dieselbe Priorität haben priority 40 # Die Master- und Backup-Maschinen haben unterschiedliche Prioritäten, die Master-Maschine hat einen höheren Wert und die Backup-Maschine einen niedrigeren Wert advertisement_int 1
  Authentifizierung
   Authentizitätstyp PASS
   Auth_Passwort 1111
  }
  virtuelle_IP-Adresse {
  192.168.180.114 // VRRP H virtuelle Adresse}
}

Skript:

[root@topcheer src]# cat nginx_check.sh
#!/bin/bash
A=`ps -C nginx ▒Cno-header |wc -l`
wenn [ $A -eq 0 ];dann
  /usr/local/nginx/sbin/nginx
  Schlaf 2
  wenn [ `ps -C nginx --no-header |wc -l` -eq 0 ];dann
    alles töten, am Leben bleiben
  fi
fi[root@topcheer src]#

Starten Sie nginx und keepalived auf beiden Servern

Nginx starten: ./nginx Da ich Gitlabs eigenes Nginx auf 112 installiert habe, muss ich es nicht starten. Keepalived starten: systemctl start keepalived.service

5. Testen

Schalten Sie nginx und keepalived auf 113 aus und stellen Sie fest, dass es auf 112 umschaltet

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Keepalived+Nginx+Tomcat-Beispielcode zur Implementierung eines hochverfügbaren Webclusters
  • Nginx implementiert den Aufbau eines Clusters mit hoher Verfügbarkeit (Keepalived+Haproxy+Nginx)

<<:  So verwenden Sie webSocket zum Aktualisieren des Echtzeitwetters in Vue

>>:  So fügen Sie Spalten in einer MySQL-Datenbank hinzu, löschen und ändern sie

Artikel empfehlen

Zusammenfassung der Unterschiede zwischen HTML, SHHTML und XHTML

Zum Beispiel: <u> Dies hat kein Endzeichen u...

Zusammenfassung der MySQL-Datums- und Zeitfunktionen (MySQL 5.X)

1. MySQL erhält die aktuelle Datums- und Uhrzeitf...

Beispiel zum schnellen Löschen einer 2T-Tabelle in MySQL in Innodb

Vorwort Dieser Artikel stellt hauptsächlich den r...

So erstellen Sie mit Squid einen Proxyserver für http und https

Als wir nginx eingeführt haben, haben wir nginx a...

Webpack lädt CSS-Dateien und ihre Konfigurationsmethode

webpack lädt CSS-Dateien und deren Konfiguration ...

Ein Artikel zum Verständnis von Linux-Festplatten und Festplattenpartitionen

Vorwort Alle Hardwaregeräte im Linux-System werde...

Zusammenfassung der sieben grundlegenden XHTML-Codierungsregeln

1. Alle Tags müssen ein entsprechendes End-Tag hab...

So konfigurieren Sie einen Pfadalias für das React-Scaffolding

Die React-Version beim Schreiben dieses Artikels ...

Tiefes Verständnis von Zeilenhöhe und vertikaler Ausrichtung

Mehrere Konzepte Zeilenbox: Eine Box, die eine In...

Über die Kontrolle und Verschönerung von Eingabedateien

Beim Hochladen auf einigen Websites wird nach dem...

Analyse der Unterschiede zwischen Iframe und FRAME

1. Verwendung des Iframe-Tags <br />Wenn es ...

Detaillierte Diskussion der Unterschiede zwischen Schleifen in JavaScript

Inhaltsverzeichnis Vorwort Aufzählbare Eigenschaf...