suchen
HeimBetrieb und InstandhaltungNginxSo konfigurieren Sie die Nginx-HTTP-Gesundheitsprüfung

Passive Prüfung

Bei passiven Gesundheitsprüfungen überwachen Nginx und Nginx Plus das Ereignis, wenn es auftritt, und versuchen, die fehlgeschlagene Verbindung wiederherzustellen . Wenn das immer noch nicht funktioniert, markieren Nginx Open Source und Nginx Plus den Server als nicht verfügbar und stellen vorübergehend das Senden von Anfragen an ihn ein, 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 Parameter upstream der Serverdirektive im Block definiert:

  • # 🎜🎜 #fail_timeout – Legt fest, wie viele Fehlversuche unternommen werden müssen, bevor der Server als nicht verfügbar markiert wird, und wie lange der Server als nicht verfügbar markiert wird (Standard ist 10 Sekunden).

  • max_fails – Legt die Anzahl der Fehlversuche fest, die während fail_timeout auftreten müssen, bevor der Server als nicht verfügbar markiert wird (Standard ist 1 Versuch). Wenn Nginx im folgenden Beispiel keine Anfrage an den Server sendet oder innerhalb von 30 Sekunden dreimal keine Antwort erhält, bedeutet dies, dass der Server innerhalb von 30 Sekunden nicht verfügbar ist:

  • upstream backend {
      server backend1.example.com;
      server backend2.example.com max_fails=3 fail_timeout=30s;
    }
    #🎜🎜 #Beachten Sie, dass bei nur einer einzigen Servergruppe die Parameter fail_timeout und max_fails ignoriert werden und der Server niemals als nicht verfügbar markiert wird.

Langsamer Serverstart


Kürzlich wiederhergestellte Server können leicht mit Verbindungen überflutet werden, was dazu führen kann, dass der Server als markiert wird nicht wieder verfügbar. Durch einen langsamen Start kann ein Upstream-Server sein Gewicht schrittweise von Null auf seinen Nennwert wiederherstellen, nachdem es wiederhergestellt wurde oder verfügbar wird. Dies kann durch Angabe des slow_start-Parameters des Upstream-Servermoduls erfolgen:

upstream backend {
  server backend1.example.com slow_start=30s;
  server backend2.example.com;
  server 192.0.0.1 backup;
}

Hinweis: Wenn es nur einen Server in der Gruppe gibt, wird der slow_start-Parameter ignoriert und der Server wird nie als markiert nicht verfügbar. Langsamer Start ist eine exklusive Funktion von nginx plus. Überprüfen Sie regelmäßig den Zustand Ihrer Upstream-Server, indem Sie spezielle Gesundheitsprüfungsanfragen senden und korrekte Antworten überprüfen.

So aktivieren Sie die aktive Gesundheitsprüfung:

1 Fügen Sie im Standortblock bei der Weitergabe von Anforderungen (proxy_pass) an die Upstream-Gruppe die Anweisung „health_check“ ein: #🎜 🎜#

server {
 location / {
   proxy_pass http://backend;
   health_check;
 }
}
Dieses Snippet definiert einen Server, der alle Anfragen an den Standort/die Upstream-Gruppe abgleicht, die an das aufrufende Backend weitergeleitet werden. Es ermöglicht außerdem eine erweiterte Gesundheitsüberwachung mithilfe der Direktive „health_check“: Standardmäßig sendet nginx plus alle fünf Sekunden eine „/“-Anfrage an jeden Server im Gruppen-Backend.

Die Integritätsprüfung schlägt fehl, wenn ein Kommunikationsfehler oder eine Zeitüberschreitung auftritt (der vom Server zurückgegebene Statuscode liegt außerhalb des Bereichs von 200–399). Der Server wird als fehlerhaft markiert und nginx plus sendet keine Client-Anfragen an ihn, bis er die Gesundheitsprüfung erneut besteht.

Eine weitere optionale Option: Sie können einen anderen Port für Gesundheitsprüfungen angeben, um beispielsweise den Zustand vieler Dienste auf demselben Host zu überwachen. Verwenden Sie den Port-Parameter der Direktive, um die neue Port-Gesundheitsprüfung anzugeben:

server {
 location / {
   proxy_pass  http://backend;
   health_check port=8080;
 }
}

2 Verwenden Sie in der Upstream-Servergruppe die Zonen-Direktive, um einen gemeinsam genutzten Speicherbereich zu definieren:

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 Arbeitsprozesse denselben Zählersatz verwenden, um Antworten von Servern in der Gruppe zu verfolgen.

Der Standardwert für aktive Gesundheitsprüfungen kann mit den Parametern der Anweisung „health_check“ überschrieben werden:

location / {
  proxy_pass http://backend;
  health_check interval=10 fails=3 passes=2;
}

Hier ändert der Intervallparameter die Verzögerung zwischen Gesundheitsprüfungen vom Standardwert 5 Sekunden auf 10 Sekunden erhöht. Der Parameter „fails“ erfordert, dass der Server drei Integritätsprüfungen nicht besteht, um ihn als fehlerhaft zu markieren (beginnend mit dem Standardwert). 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 Parameter uri in der Direktive „health_check“ an, um die Route der Integritätsprüfungsanforderung festzulegen: #🎜🎜 #
location / {
  proxy_pass http://backend;
  health_check uri=/some/path;
}

Die angegebene URL wird an den Serverdomänennamen oder die IP-Adresse angehängt, die für den Server im Upstream-Block festgelegt ist. Für den ersten Server in der oben deklarierten Backend-Beispielgruppe fordert die Integritätsprüfung die URL http://backend1.example.com/some/path an.

Benutzerdefinierte Bedingungen definieren


Sie können benutzerdefinierte Bedingungen festlegen, die eine Antwort erfüllen muss, damit der Server den Zustand besteht überprüfen. Die Bedingungen werden in einem Match-Block definiert, auf den im Argument der Direktive „health_check“ verwiesen wird.

1. Geben Sie auf der http-{}-Ebene den Match-{}-Block an und benennen Sie ihn, zum Beispiel: „server_ok“

http {
 #... 
 match server_ok {
   # tests are here     
 }
}

2.health_check by Angabe des Blocks Der Match-Parameter und der Name des Match-Parameterblocks:

http {
 #... 
 match server_ok {
   status 200-399;
   body !~ "maintenance mode";
 }
 server {
   #...     
   location / {
     proxy_pass http://backend;
     health_check match=server_ok;
   }
 }
}
Die Integritätsprüfung wird bestanden, wenn der Statuscode der Antwort im Bereich 200-399 liegt und ihr Text nicht enthält die Zeichenfolge: 'Wartungsmodus'

Die Match-Direktive ermöglicht es Nginx Plus, den Statuscode, das Header-Feld und den Antworttext zu überprüfen. Verwenden Sie diese Anweisung, um zu überprüfen, ob der Status innerhalb des 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 Textbedingung und mehrere Titelbedingungen enthalten. Die Antwort muss alle im Match-Block definierten Bedingungen erfüllen, damit der Server die Integritätsprüfung besteht.

例如,下面的 match 指令匹配有状态代码响应 200,精确值 text/html 的content-type 标题,页面中的文字:'welcome to nginx!'.

match welcome {
  status 200;
  header content-type = text/html;
  body ~ "welcome to nginx!";
}

以下示例使用感叹号(!)来定义响应不得通过运行状况检查的特征。在这种情况下,健康检查在非 301,302,303,或 307状态码,同时并没有 refresh 头信息时将通过检查,。

match not_redirect {
  status ! 301-303 307;
  header ! refresh;
}

健康检查可以在其他非 http 协议中启用, 例如 fastcgi, , scgi,  甚至 tcp 和 udp。

很多很好的特性,就是需要 nginx plus 才能使用。

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die Nginx-HTTP-Gesundheitsprüfung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:亿速云. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Nginx vs. Apache: Leistung, Skalierbarkeit und EffizienzNginx vs. Apache: Leistung, Skalierbarkeit und EffizienzApr 19, 2025 am 12:05 AM

Nginx und Apache sind beide leistungsstarke Webserver mit einzigartigen Vor- und Nachteilen in Bezug auf Leistung, Skalierbarkeit und Effizienz. 1) Nginx funktioniert bei der Behandlung statischer Inhalte und dem Umkehren von Proxen, geeignet für hohe Parallelitätsszenarien. 2) Apache funktioniert bei der Verarbeitung dynamischer Inhalte besser und eignet sich für Projekte, für die ein reichhaltiges Modulunterstützung erforderlich ist. Die Auswahl eines Servers sollte basierend auf Projektanforderungen und Szenarien ermittelt werden.

Der ultimative Showdown: Nginx vs. ApacheDer ultimative Showdown: Nginx vs. ApacheApr 18, 2025 am 12:02 AM

Nginx eignet sich zum Umgang mit hohen gleichzeitigen Anforderungen, während Apache für Szenarien geeignet ist, in denen komplexe Konfigurationen und funktionale Erweiterungen erforderlich sind. 1.Nginx nimmt eine ereignisorientierte, nicht blockierende Architektur an und eignet sich für Umgebungen mit hoher Konsequenz. 2. Apache übernimmt Prozess- oder Threadmodell, um ein reiches Modul -Ökosystem bereitzustellen, das für komplexe Konfigurationsanforderungen geeignet ist.

Nginx in Aktion: Beispiele und reale AnwendungenNginx in Aktion: Beispiele und reale AnwendungenApr 17, 2025 am 12:18 AM

NGINX kann verwendet werden, um die Leistung, Sicherheit und Skalierbarkeit der Website zu verbessern. 1) Als Reverse Proxy und Load Balancer kann Nginx Back-End-Dienste optimieren und den Verkehr teilen. 2) Durch ereignisgesteuerte und asynchrone Architektur verarbeitet Nginx effizient hohe gleichzeitige Verbindungen. 3) Konfigurationsdateien ermöglichen eine flexible Definition von Regeln wie statischer Dateiservice und Ladeausgleich. 4) Optimierungsvorschläge umfassen die Aktivierung der GZIP -Komprimierung, die Verwendung von Cache und das Einstellen des Arbeitsprozesses.

Nginx -Einheit: Unterstützung verschiedener ProgrammiersprachenNginx -Einheit: Unterstützung verschiedener ProgrammiersprachenApr 16, 2025 am 12:15 AM

NginxUnit unterstützt mehrere Programmiersprachen und wird durch modulares Design implementiert. 1. Ladesprachmodul: Laden Sie das entsprechende Modul gemäß der Konfigurationsdatei. 2. Anwendungsstart: Führen Sie den Anwendungscode aus, wenn die aufrufende Sprache ausgeführt wird. 3. Anforderungsverarbeitung: Leiten Sie die Anfrage an die Anwendungsinstanz weiter. 4. Antwortrückgabe: Gibt die verarbeitete Antwort an den Client zurück.

Wählen Sie zwischen Nginx und Apache: Die richtige Passform für Ihre AnforderungenWählen Sie zwischen Nginx und Apache: Die richtige Passform für Ihre AnforderungenApr 15, 2025 am 12:04 AM

Nginx und Apache haben ihre eigenen Vor- und Nachteile und eignen sich für verschiedene Szenarien. 1.Nginx ist für hohe Parallelitäts- und geringe Ressourcenverbrauchsszenarien geeignet. 2. Apache eignet sich für Szenarien, in denen komplexe Konfigurationen und reichhaltige Module erforderlich sind. Durch den Vergleich ihrer Kernfunktionen, Leistungsunterschiede und Best Practices können Sie die Serversoftware auswählen, die Ihren Anforderungen am besten entspricht.

So starten Sie NginxSo starten Sie NginxApr 14, 2025 pm 01:06 PM

Frage: Wie starte ich Nginx? Antwort: Installieren Sie Nginx Startup Nginx -Verifizierung Nginx Is Nginx Start Erkunden

So überprüfen Sie, ob Nginx gestartet wirdSo überprüfen Sie, ob Nginx gestartet wirdApr 14, 2025 pm 01:03 PM

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Wie man nginx schließtWie man nginx schließtApr 14, 2025 pm 01:00 PM

To shut down the Nginx service, follow these steps: Determine the installation type: Red Hat/CentOS (systemctl status nginx) or Debian/Ubuntu (service nginx status) Stop the service: Red Hat/CentOS (systemctl stop nginx) or Debian/Ubuntu (service nginx stop) Disable automatic startup (optional): Red Hat/CentOS (systemctl disabled nginx) or Debian/Ubuntu (syst

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung