Passive Prüfung Mit passiven Integritätsprüfungen überwachen NGINX und NGINX Plus Ereignisse, sobald sie auftreten, und versuchen, fehlgeschlagene Verbindungen wiederherzustellen. Wenn die Wiederherstellung immer noch nicht möglich ist, markieren NGINX Open Source und NGINX Plus den Server als nicht verfügbar und senden vorübergehend keine Anfragen mehr an ihn, bis er wieder als aktiv markiert wird. Die Bedingungen, unter denen ein Upstream-Server als nicht verfügbar markiert wird, werden für jeden Upstream-Server mit dem Upstream-Parameter der Server-Direktive im Include-Block definiert:
Upstream-Backend { Server backend1.example.com; Server backend2.example.com max_fails=3 Fail_timeout=30s; } Beachten Sie, dass die Parameter fail_timeout und max_fails ignoriert werden und der Server nie als nicht verfügbar markiert wird, wenn sich in der Gruppe nur ein einziger Server befindet. Langsamer Start des Servers Ein kürzlich wiederhergestellter Server kann leicht mit Verbindungen überlastet werden, was dazu führen kann, dass der Server erneut als nicht verfügbar markiert wird. Durch den langsamen Start kann ein Upstream-Server sein Gewicht nach der Wiederherstellung oder Wiederverfügbarkeit schrittweise von Null auf seinen Nennwert wiederherstellen. Dies kann durch die Angabe des slow_start-Parameters des Upstream-Servermoduls erfolgen: Upstream-Backend { Server backend1.example.com langsamer_start=30s; Server backend2.example.com; Server 192.0.0.1-Sicherung; } Hinweis: Wenn sich nur ein Server in der Gruppe befindet, wird der Parameter „slow_start“ ignoriert und der Server wird nie als nicht verfügbar markiert. Der langsame Start ist eine Funktion, die exklusiv bei NGINX Plus verfügbar ist. Aktive Prüfungen für NGINX Plus NGINX Plus kann den Zustand von Upstream-Servern regelmäßig prüfen, indem es spezielle Integritätsprüfungsanforderungen an jeden Server sendet und die korrekten Antworten überprüft. So aktivieren Sie aktive Integritätsprüfungen: 1. Fügen Sie die Direktive health_check in den Standortblock ein, der Anforderungen (proxy_pass) an die Upstream-Gruppe weiterleitet: Server { Standort / { Proxy-Passwort http://backend; Gesundheitscheck; } } Dieses Snippet definiert einen Server, der alle Anfragen, die mit location / übereinstimmen, an die Upstream-Gruppe namens backend weiterleitet. Es ermöglicht außerdem eine erweiterte Integritätsüberwachung mithilfe der Direktive health_check: Standardmäßig sendet NGINX Plus alle fünf Sekunden eine Anfrage an jeden Server in der Gruppe für das „/“-Backend. Wenn ein Kommunikationsfehler oder eine Zeitüberschreitung auftritt (der Server gibt einen Statuscode außerhalb des Bereichs 200-399 zurück), schlägt die Integritätsprüfung fehl. Der Server wird als fehlerhaft markiert und NGINX Plus sendet keine Client-Anfragen an ihn, bis er die Integritätsprüfungen erneut bestanden hat. Optional: Sie können für die Integritätsprüfung einen anderen Port angeben, um beispielsweise die Integrität mehrerer Dienste auf demselben Host zu überwachen. Geben Sie den neuen Port mit dem Port-Parameter der Direktive „health_check“ an: Server { Standort / { Proxy-Passwort http://backend; Gesundheitscheck-Port=8080; } } 2. Definieren Sie in der Upstream-Servergruppe eine gemeinsam genutzte Speicherzone mit der Zonendirektive: http { Upstream-Backend { Zone-Backend 64k; Server backend1.example.com; Server backend2.example.com; Server backend3.example.com; Server backend4.example.com; } } Dieser Bereich wird von allen Arbeitsprozessen gemeinsam genutzt und speichert die Konfiguration der Upstream-Gruppe. Dadurch können die Arbeitsprozesse denselben Satz von Leistungsindikatoren verwenden, um Antworten von den Servern in der Gruppe zu verfolgen. Die Standardwerte für aktive Integritätsprüfungen können mit den Parametern der Direktive health_check überschrieben werden: Standort / { Proxy-Passwort http://backend; Integritätsprüfungsintervall = 10, Fehler = 3, Durchläufe = 2; } Hier erhöht der Intervallparameter die Verzögerung zwischen den Integritätsprüfungen vom Standardwert von 5 Sekunden auf 10 Sekunden. Der Parameter „fails“ erfordert, dass ein Server drei Integritätsprüfungen nicht besteht, um ihn als fehlerhaft zu markieren (vom Standardwert ausgehend). Schließlich bedeutet der Parameter „passes“, dass der Server anstelle des Standardwerts zwei aufeinanderfolgende Prüfungen bestehen muss, bevor er wieder als fehlerfrei markiert werden kann. Geben Sie die angeforderte URL an Geben Sie den URI-Parameter in der Health_check-Direktive an, um die Route für Integritätsprüfanforderungen festzulegen: Standort / { Proxy-Passwort http://backend; health_check uri=/irgendein/Pfad; } Die angegebene URI wird an den Serverdomänennamen oder die für den Server im Upstream-Block festgelegte IP-Adresse angehängt. Für den ersten Server in der oben deklarierten Beispiel-Backend-Gruppe würde die Integritätsprüfung die URI http://backend1.example.com/some/path anfordern. Benutzerdefinierte Bedingungen definieren Sie können benutzerdefinierte Bedingungen festlegen, die die Antwort erfüllen muss, damit der Server die Integritätsprüfung besteht. Die Bedingungen werden im Match-Block definiert, auf den im Match-Parameter der Health_check-Direktive verwiesen wird. 1. Geben Sie auf der http {}-Ebene einen match {}-Block an und vergeben Sie ihm einen Namen, zum Beispiel: „server_ok“ http { #... Übereinstimmung mit server_ok { # Tests sind hier } } 2. health_check durch Angabe des Match-Parameters des Blocks und des Namens des Match-Parameter-Blocks: http { #... Übereinstimmung mit server_ok { Stand 200-399; body !~ "Wartungsmodus"; } Server { #... Standort / { Proxy-Passwort http://backend; Health_Check-Übereinstimmung=Server_OK; } } } Eine Integritätsprüfung wird bestanden, wenn die Antwort einen Statuscode im Bereich 200-399 hat und ihr Textkörper nicht die Zeichenfolge „Wartungsmodus“ enthält. Die Match-Direktive ermöglicht es NGINX Plus, den Statuscode, die Headerfelder und den Antworttext zu untersuchen. Verwenden Sie diese Anweisung, um zu überprüfen, ob der Status innerhalb eines angegebenen Bereichs liegt, ob die Antwort Header enthält oder ob die Header oder der Text mit einem regulären Ausdruck übereinstimmen. Die Match-Direktive kann eine Statusbedingung, eine Body-Bedingung und mehrere Titelbedingungen enthalten. Damit der Server die Integritätsprüfung besteht, muss die Antwort alle im Match-Block definierten Bedingungen erfüllen. Beispielsweise gleicht die folgende Match-Direktive Antworten mit dem Statuscode 200, einem Content-Type-Header mit dem genauen Wert text/html und dem Text auf der Seite ab: „Willkommen bei nginx!“. Spiel willkommen { Status 200; Header-Inhaltstyp = Text/HTML; body ~ "Willkommen bei nginx!"; } Im folgenden Beispiel wird ein Ausrufezeichen (!) verwendet, um Merkmale einer Antwort zu definieren, die eine Integritätsprüfung nicht bestehen dürfen. In diesem Fall wird die Integritätsprüfung mit einem anderen Statuscode als 301, 302, 303 oder 307 und ohne einen Refresh-Header bestanden. Übereinstimmung mit nicht_weiterleiten { Stand! 301-303 307; Header! Aktualisieren; } Integritätsprüfungen können für andere Nicht-HTTP-Protokolle aktiviert werden, beispielsweise für FastCGI, Memcached, SCGI, uwsgi und sogar TCP und UDP. Für viele gute Funktionen ist Nginx Plus zur Nutzung erforderlich. 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:
|
>>: Detaillierte Erklärung, wie Node.js mit ES6-Modulen umgeht
MySQL Slow Query, dessen vollständiger Name „Slow...
<br />Es gibt zwar viele Tools zum Erstellen...
1. [admin@JD ~]$ cd opt #Geben Sie opt im Stammve...
Nginx-Optimierung --- Versionsnummer und Cache-Ze...
Inhaltsverzeichnis 1. Was ist Blockbereich? 2. Wa...
Warum die Dateisteuerung verschönern? Stellen Sie ...
Bei der Webentwicklung kann es vorkommen, dass Fl...
Wenn wir eine Single-Page-Anwendung entwickeln, m...
1. Installieren Sie die vsftpd-Komponente Install...
Einführung Unser Unternehmen ist an der Forschung...
1. Integrierte Funktionen 1. Mathematische Funkti...
brauchen: Den Geschäftsanforderungen entsprechend...
Inhaltsverzeichnis Vuex-Persistenz Zusammenfassen...
Inhaltsverzeichnis 1. Problembeschreibung 2. Prob...
Vorwort Im vorherigen Artikel wurde Hadoop instal...