


So implementieren Sie die hohe Verfügbarkeit von Nginx in einer Produktionsumgebung
Vorbereitung:
192.168.16.128
192.168.16.129
Zwei virtuelle Maschinen. Installieren Sie Nginx.
Nginx installieren.
Hohe Verfügbarkeit (Hochverfügbarkeit) ist einer der Faktoren, die beim Entwurf einer verteilten Systemarchitektur berücksichtigt werden müssen. Dies bezieht sich normalerweise auf die Reduzierung der Zeit, in der das System keine Dienste bereitstellen kann. Wenn ein System immer Dienste bereitstellen kann, dann liegt die Verfügbarkeit bei 100 %, es treten jedoch unvorhergesehene Umstände auf. Wir können also nur versuchen, Serviceausfälle so weit wie möglich zu reduzieren.Problem gelöst?
In Produktionsumgebungen wird Nginx häufig als Reverse-Proxy zur Bereitstellung externer Dienste verwendet. Eines Tages wird es jedoch unweigerlich zu Ausfällen kommen, beispielsweise zu Serverausfällen. Wenn Nginx ausfällt, sind alle extern bereitgestellten Schnittstellen nicht mehr zugänglich.
Dual-Server-Hot-Standby-Lösung
Was ist Keepalived?
keepalived-Software wurde ursprünglich für LVS-Lastausgleichssoftware entwickelt, um den Status jedes Serviceknotens im LVS-Clustersystem zu verwalten und zu überwachen. Später wurde vrrp (Virtual Router Redundancy Protocol, Virtual Router Redundancy Protocol) hinzugefügt, um eine hohe Verfügbarkeit zu erreichen. (verbleibendes Protokoll) Funktion. Daher kann Keepalived nicht nur LVS-Software verwalten, sondern auch als hochverfügbare Lösungssoftware für andere Dienste (z. B. Nginx, Haproxy, MySQL usw.) verwendet werden zwischen Keepalived-Hochverfügbarkeitsdiensten wird durch VRRP erreicht.Wenn der Keepalived-Dienst normal funktioniert, sendet der Haupt-Masterknoten kontinuierlich (Multicast-)Heartbeat-Nachrichten an den Backup-Knoten, um dem Backup-Knoten mitzuteilen, dass er noch aktiv ist. Wenn der Haupt-Masterknoten ausfällt, kann er keine Heartbeat-Nachrichten senden .Nachricht kann der Standby-Knoten den Heartbeat vom Master-Knoten nicht mehr erkennen und ruft daher sein eigenes Übernahmeprogramm auf, um die IP-Ressourcen und Dienste des Master-Knotens zu übernehmen. Wenn der primäre Masterknoten wiederhergestellt ist, gibt der Backup-Knoten die IP-Ressourcen und Dienste frei, die er übernommen hat, als der primäre Knoten ausgefallen ist, und kehrt zu seiner ursprünglichen Backup-Rolle zurück.
Implementierungsprozess
Installieren Sie die Keepalived-Methode
yum-Methode zur direkten Installation. Diese Methode installiert automatisch Abhängigkeiten:
rpm -ivh http://nginx.org/packages/centos/7/noarch/rpms/nginx-release-centos-7-0.el7.ngx.noarch.rpm wget -o /etc/yum.repos.d/centos-base.repo http://mirrors.aliyun.com/repo/centos-7.repo
Ändern Sie die Keepalived-Konfigurationsdatei des Hosts (192.168.16.128).yum-Methode erstellt die Konfigurationsdatei unter /etc/keepalived:
yum -y install nginx
keepalived.conf:
systemctl start nginx; #启动nginx systemctl stop nginx; #停止nginx
virtual_ipaddress Sie können VIP darin konfigurieren und über VIP online auf Dienste zugreifen.
Die Schnittstelle muss entsprechend der Server-Netzwerkkarte eingestellt werden. Die Authentifizierungskonfiguration für die IP-Adresse erfordert ebenfalls die gleiche Konfiguration. Die Keepalived-Konfiguration des Backup-Computers muss geändert werden Dateikeepalived.conf:
yum -y install keepalived
vi keepalived.conf
vip(virtual_ipaddress:192.168.16.130),</code >In der Produktionsumgebung greifen wir direkt über VIP auf Dienste zu. <p ></p>Nginx-Fehler simulieren: <p ></p>Ändern Sie die Nginx-HTML-Seite, auf die die beiden Server standardmäßig zugreifen, als Unterschied. <p ></p>Besuchen Sie zuerst <code>192.168.16.130
und greifen Sie über VIP darauf zu. Auf der Seite wird 192.168.16.128
angezeigt. Dies zeigt an, dass es sich derzeit um einen vom Hauptserver bereitgestellten Dienst handelt.
Zu diesem Zeitpunkt 192.168.16.128
führt der Hauptserver den Befehl aus:
#检测脚本 vrrp_script chk_http_port { script "/usr/local/src/check_nginx_pid.sh" #心跳执行的脚本,检测nginx是否启动 interval 2 #(检测脚本执行的间隔,单位是秒) weight 2 #权重 } #vrrp 实例定义部分 vrrp_instance vi_1 { state master # 指定keepalived的角色,master为主,backup为备 interface ens33 # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡 virtual_router_id 66 # 虚拟路由编号,主从要一直 priority 100 # 优先级,数值越大,获取处理请求的优先级越高 advert_int 1 # 检查间隔,默认为1s(vrrp组播周期秒数) #授权访问 authentication { auth_type pass #设置验证类型和密码,master和backup必须使用相同的密码才能正常通信 auth_pass 1111 } track_script { chk_http_port #(调用检测脚本) } virtual_ipaddress { 192.168.16.130 # 定义虚拟ip(vip),可多设,每行一个 } }
Besuchen Sie VIP erneut (192.168.16.130
) und stellen Sie fest, dass auf der Seite immer noch Folgendes angezeigt wird: 192.168.16.128
, dies ist ein automatischer Neustart im Skript.
Schließen Sie nun direkt den 192.168.16.128
-Server, besuchen Sie vip hier (192.168.16.130
) und stellen Sie nun fest, dass auf der Seite 192.168.16.129
angezeigt wird Zu diesem Zeitpunkt führt keepalived
automatisch einen Failover durch und eine Hochverfügbarkeitslösung für eine Produktionsumgebung auf Unternehmensebene wird eingerichtet.
Es gibt viele Funktionen in keepalived
, wie z. B. E-Mail-Erinnerungen usw., aber Sie können die Dokumentation auf der offiziellen Website lesen.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die hohe Verfügbarkeit von Nginx in einer Produktionsumgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Um dem Tomcat-Server den Zugriff auf das externe Netzwerk zu ermöglichen, müssen Sie Folgendes tun: Ändern Sie die Tomcat-Konfigurationsdatei, um externe Verbindungen zuzulassen. Fügen Sie eine Firewallregel hinzu, um den Zugriff auf den Tomcat-Server-Port zu ermöglichen. Erstellen Sie einen DNS-Eintrag, der den Domänennamen auf die öffentliche IP des Tomcat-Servers verweist. Optional: Verwenden Sie einen Reverse-Proxy, um Sicherheit und Leistung zu verbessern. Optional: Richten Sie HTTPS für mehr Sicherheit ein.

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

Um den Fehler „Willkommen bei Nginx!“ zu beheben, müssen Sie die Konfiguration des virtuellen Hosts überprüfen, den virtuellen Host aktivieren, Nginx neu laden. Wenn die Konfigurationsdatei des virtuellen Hosts nicht gefunden werden kann, erstellen Sie eine Standardseite und laden Sie Nginx neu. Anschließend wird die Fehlermeldung angezeigt verschwindet und die Website wird normal angezeigt.

In der Docker-Umgebung gibt es fünf Methoden für die Containerkommunikation: freigegebenes Netzwerk, Docker Compose, Netzwerk-Proxy, freigegebenes Volume und Nachrichtenwarteschlange. Wählen Sie abhängig von Ihren Isolations- und Sicherheitsanforderungen die am besten geeignete Kommunikationsmethode, z. B. die Nutzung von Docker Compose zur Vereinfachung von Verbindungen oder die Verwendung eines Netzwerk-Proxys zur Erhöhung der Isolation.

Um sich für phpMyAdmin zu registrieren, müssen Sie zunächst einen MySQL-Benutzer erstellen und ihm Berechtigungen erteilen, dann phpMyAdmin herunterladen, installieren und konfigurieren und sich schließlich bei phpMyAdmin anmelden, um die Datenbank zu verwalten.

Serverbereitstellungsschritte für ein Node.js-Projekt: Bereiten Sie die Bereitstellungsumgebung vor: Erhalten Sie Serverzugriff, installieren Sie Node.js, richten Sie ein Git-Repository ein. Erstellen Sie die Anwendung: Verwenden Sie npm run build, um bereitstellbaren Code und Abhängigkeiten zu generieren. Code auf den Server hochladen: über Git oder File Transfer Protocol. Abhängigkeiten installieren: Stellen Sie eine SSH-Verbindung zum Server her und installieren Sie Anwendungsabhängigkeiten mit npm install. Starten Sie die Anwendung: Verwenden Sie einen Befehl wie node index.js, um die Anwendung zu starten, oder verwenden Sie einen Prozessmanager wie pm2. Konfigurieren Sie einen Reverse-Proxy (optional): Verwenden Sie einen Reverse-Proxy wie Nginx oder Apache, um den Datenverkehr an Ihre Anwendung weiterzuleiten

Für die Konvertierung einer HTML-Datei in eine URL ist ein Webserver erforderlich. Dazu sind die folgenden Schritte erforderlich: Besorgen Sie sich einen Webserver. Richten Sie einen Webserver ein. Laden Sie eine HTML-Datei hoch. Erstellen Sie einen Domainnamen. Leiten Sie die Anfrage weiter.

Schritte zur Fehlerbehebung bei fehlgeschlagener phpMyAdmin-Installation: Überprüfen Sie die Systemanforderungen (PHP-Version, MySQL-Version, Webserver); aktivieren Sie die PHP-Erweiterungen (mysqli, pdo_mysql, mbstring, token_get_all); überprüfen Sie die Konfigurationsdatei Berechtigungen (Verzeichnisbesitz, Dateiberechtigungen); Firewall-Einstellungen überprüfen (Webserver-Ports auf die Whitelist setzen); Fehlerprotokolle anzeigen (/var/log/apache2/error.log); phpMyAdmin
