Vorwort Um die Hochverfügbarkeit des Systems zu gewährleisten, ist grundsätzlich der Aufbau eines Clusters notwendig. Wenn der Host abstürzt, kann unser System weiterhin Dienste bereitstellen. Dasselbe gilt, wenn wir Nginx als Reverse-Proxy und dynamischen und statischen Trennungsserver verwenden. Das Erreichen einer hohen Verfügbarkeit des Systems steht im Fokus unserer Programmierer. Dieser Artikel stellt die Verwendung von nginx und Keepalived zum Erstellen eines Hochverfügbarkeitsclusters im Master-Slave-Modus vor. Vorkenntnisse Dieser Artikel geht nicht näher auf die Nginx-Konfiguration ein und setzt voraus, dass die Leser bereits über einige Kenntnisse zu Nginx verfügen. Einführung von Keepalived Die Funktion von Keepalived besteht darin, den Status des Servers zu erkennen. Wenn ein Webserver ausfällt oder nicht funktioniert, erkennt Keepalived dies und entfernt den fehlerhaften Server aus dem System und verwendet andere Server, um den Server zu ersetzen. Wenn der Server normal funktioniert, fügt Keepalived den Server automatisch der Servergruppe hinzu. Alle diese Aufgaben werden automatisch und ohne menschliches Eingreifen ausgeführt. Das Einzige, was manuell erledigt werden muss, ist die Reparatur des fehlerhaften Servers. Systemarchitekturdiagramm Implementierungsschritte 1. Umgebungskonfiguration 1.1 Installieren Sie nginx Installieren Sie zugehörige Abhängigkeiten yum installiere pcre-devel zlib zlib-devel openssl openssl-devel Hochladen und Dekomprimieren des komprimierten Pakets tar zxvf nginx-1.12.2.tar.gz Erstellen Sie ein Verzeichnis und testen Sie die Konfiguration mkdir -p /usr/local/nginx ./configure --prefix=/usr/local/nginx Vorkompilieren und installieren machen && machen installieren Zugehörige Start- und Stoppbefehle cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stoppen ./nginx -s starten 1.2 Keepalived installieren yum install -y keepalived 2. Host-Konfiguration Ändern der Keepalived-Konfigurationsdatei vim /etc/keepalived/keepalived.conf Die geänderten Inhalte sind wie folgt # Neu hinzugefügte Konfiguration vrrp_script chk_http_port { Skript "/shell/nginx_check.sh" #Skriptadresse Intervall 2 #Skriptausführungsintervall prüfen Gewicht 2 #Gewicht} vrrp_instance VI_1 { state MASTER #Der Master-Server ist MASTER, der Slave-Server ist BACKUP Schnittstelle eth0 #Netzwerkkarte virtual_router_id 51 #Die virtual_router_id der Master- und Backup-Maschinen müssen dieselbe Priorität haben 100 #Unterschiedliche Prioritäten für die Master- und Backup-Maschinen. Die Master-Maschine hat eine höhere Priorität und die Backup-Maschine eine niedrigere. Der Standardwert ist 100 Anzeige_int 1 Authentifizierung Authentizitätstyp PASS Auth_Passwort 1111 } #Virtuelle IP-Adresse virtual_ipaddress { 192.168.126.88 } } Erstellen einer Skriptdatei mkdir /shell/nginx_check.sh vim /shell/nginx_check.sh Der Inhalt der Skriptdatei ist wie folgt #!/bin/bash A=`ps -C nginx –no-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 3. Slave-Konfiguration Ändern Sie die Keepalived-Konfigurationsdatei vrrp_instance VI_1 { Status BACKUP #Der Master-Server ist MASTER, der Slave-Server ist BACKUP Schnittstelle eth0 #Netzwerkkarte virtual_router_id 51 #Die virtual_router_id der Master- und Backup-Maschinen müssen die gleiche Priorität haben priority 50 #Unterschiedliche Prioritäten für Master- und Backup-Maschinen, die Master-Maschine hat eine höhere Priorität und die Backup-Maschine einen niedrigeren Wert advertisement_int 1 Authentifizierung Authentizitätstyp PASS Auth_Passwort 1111 } #Virtuelle IP-Adresse virtual_ipaddress { 192.168.126.88 } } 4. Starten Sie den Dienst Start-up Dienst Keepalived Start Anzeigen der virtuellen IP-Adresse IP-Adresse 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue status UNBEKANNT Link/Loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 Bereich Host lo inet6 ::1/128 Bereich Host valid_lft für immer preferred_lft für immer 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast Status UP qlen 1000 Link/Ether 00:0c:29:4f:31:ce brd ff:ff:ff:ff:ff:ff:ff inet 192.168.126.100/24 brd 192.168.126.255 Bereich global eth0 inet 192.168.126.88/32 Bereich global eth0 inet6 fe80::20c:29ff:fe4f:31ce/64 Bereichslink valid_lft für immer preferred_lft für immer 5. Schalten Sie den Firewall-Test aus Firewall deaktivieren Dienst iptables stoppen # Prüfen Sie, ob die Firewall beim Booten automatisch startet chkconfig --list | grep iptables chkconfig iptables aus Melden Sie sich bei der virtuellen IP-Adresse an, um http://192.168.126.88/ Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der Fallstricke beim Mischen von npm und cnpm
>>: MySQL 5.5.56 - Installationsfreie Versionskonfigurationsmethode
1. Betreten Sie den Container docker run [Option]...
In letzter Zeit muss ich im Projektverlauf häufig ...
Nachdem die Docker-Installation auf der CentOS-Ma...
Inhaltsverzeichnis Überblick Dateideskriptoren Sy...
Inhaltsverzeichnis JVM-Klassenlader Tomcat-Klasse...
Vorlage <el-table :data="Datenliste"...
1. Was ist mycat Ein vollständig Open Source-Groß...
Prinzip Setzen Sie beim Schweben einen Schatten a...
1. Adresse herunterladen https://dev.mysql.com/do...
NULL- und NOT NULL-Modifikatoren, DEFAULT-Modifik...
1. Grundlegende Konzepte //Jeder Container kann a...
Oftmals werden Sie auf einen <a>-Tag-Stil s...
<br />Ich habe einige Websites zum Thema Woh...
Tatsächlich werden viele Leute sagen: „Ich habe ge...
COALESCE ist eine Funktion, die sich nacheinander...