Detaillierte Beschreibung der Gesundheitsprüfung und der automatischen Fehlerwiederherstellung des Nginx-Servers
Einführung:
In heutigen Internetanwendungen sind hohe Parallelität und hohe Verfügbarkeit sehr wichtig. Um die Stabilität des Systems sicherzustellen, müssen wir den Zustand des Servers überwachen und überprüfen und automatisch eine Fehlerbehebung durchführen. In diesem Artikel wird ausführlich erläutert, wie der Nginx-Server für die Gesundheitsprüfung und die automatische Wiederherstellung nach Fehlern verwendet wird, und es werden relevante Codebeispiele aufgeführt.
1.1 Aktive Gesundheitsprüfung:
Nginx sendet regelmäßig Anfragen an den Backend-Server und beurteilt dann den Gesundheitszustand des Servers anhand des zurückgegebenen Statuscodes. Wenn der zurückgegebene Statuscode angibt, dass der Server normal ist, fügt Nginx den Server zur Liste der verfügbaren Server hinzu. Wenn der zurückgegebene Statuscode angibt, dass der Server abnormal ist, entfernt Nginx den Server aus der Liste der verfügbaren Server.
1.2 Passive Gesundheitsprüfung:
Wenn Nginx eine Anfrage an den Backend-Server sendet und die Verbindung abläuft oder die Anfrage fehlschlägt, beurteilt Nginx den Server als nicht verfügbaren Server und entfernt ihn aus der Liste der verfügbaren Server. Wenn eine neue Anfrage eintrifft, versucht Nginx, eine Verbindung zu anderen verfügbaren Servern herzustellen.
http {
upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; # 开启健康检查功能 health_check; # 配置健康检查项 health_check_timeout 3s; health_check_interval 10s; health_check_http_2xx; health_check_http_3xx; } server { listen 80; location / { proxy_pass http://backend; } }
}
In der obigen Konfiguration haben wir eine Upstream-Gruppe namens Backend definiert und drei Backend-Server konfiguriert. Durch Setzen des Parameters „health_check“ auf „on“ wird die Funktion „Health Check“ aktiviert. Die spezifische Konfiguration der Health-Check-Elemente ist wie folgt:
http {
upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; # 开启健康检查和自动故障恢复功能 health_check; max_fails 3; fail_timeout 30s; # 配置健康检查项 health_check_timeout 3s; health_check_interval 10s; health_check_http_2xx; health_check_http_3xx; } server { listen 80; location / { proxy_pass http://backend; } }
}
In der obigen Konfiguration haben wir zwei Parameter hinzugefügt, max_fails und fail_timeout, um die automatische Fehlerwiederherstellungsfunktion zu konfigurieren.
Wenn die Anzahl der Ausfälle eines Backend-Servers den durch max_fails konfigurierten Wert erreicht, entfernt Nginx den Server aus der Liste der verfügbaren Server und führt nach dem durch fail_timeout konfigurierten Timeout erneut eine Gesundheitsprüfung durch. Wenn der Server die Gesundheitsprüfung besteht, fügt Nginx ihn erneut zur Liste der verfügbaren Server hinzu.
Fazit:
Die Gesundheitsprüfung und die automatische Fehlerbehebungsfunktion des Nginx-Servers können die Stabilität und Verfügbarkeit des Systems effektiv verbessern. Mithilfe der obigen Konfigurationsbeispiele können wir Nginx einfach so konfigurieren, dass Funktionen zur Gesundheitsprüfung und zur automatischen Wiederherstellung nach Fehlern implementiert werden. Ich hoffe, dass dieser Artikel Ihnen hilft, die Funktionen zur Gesundheitsprüfung und automatischen Fehlerwiederherstellung des Nginx-Servers zu verstehen und zu nutzen.
Das obige ist der detaillierte Inhalt vonDetaillierte Beschreibung der Gesundheitsprüfung und der automatischen Fehlerwiederherstellung des Nginx-Servers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!