Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So implementieren Sie die Konfiguration der Nginx-Server-Gesundheitsprüfung

So implementieren Sie die Konfiguration der Nginx-Server-Gesundheitsprüfung

WBOY
WBOYOriginal
2023-11-08 10:39:351112Durchsuche

So implementieren Sie die Konfiguration der Nginx-Server-Gesundheitsprüfung

Für die Implementierung der Server-Gesundheitsprüfungskonfiguration von Nginx sind bestimmte Codebeispiele erforderlich immer wichtiger werden. In diesem Artikel wird erläutert, wie Nginx für die Implementierung einer Server-Gesundheitsprüfung konfiguriert wird, und es werden spezifische Codebeispiele bereitgestellt.

1. Prinzip der Server-Gesundheitsprüfung

Bei der Durchführung einer Gesundheitsprüfung erkennt Nginx hauptsächlich den Gesundheitszustand des Servers, indem es HTTP-Anfragen an den Backend-Server sendet. Wenn der Server normal auf die Anfrage antwortet (Statuscode ist 2xx), gilt der Server als fehlerfrei und leitet weiterhin Anfragen an den Server weiter. Wenn der Server nicht antwortet (Timeout oder Statuscode ist 5xx), gilt der Server als nicht verfügbar und leitet die Anfragen nicht mehr an den Server weiter, bis der Server wieder verfügbar ist.

2. Integritätsprüfung konfigurieren

1. Die Integritätsprüfung wird normalerweise im Upstream-Konfigurationsblock durchgeführt. Upstream ist ein Nginx-Modul, das eine Reihe von Backend-Servern definiert und für die Verteilung von Anfragen an diese Server verantwortlich ist. Das Folgende ist ein einfaches Upstream-Konfigurationsbeispiel:

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

2. Konfigurieren Sie die Parameter für die Integritätsprüfung. Im Upstream-Konfigurationsblock können Sie das Verhalten der Integritätsprüfung konfigurieren, indem Sie einige Parameter hinzufügen. Sie können beispielsweise das Prüfintervall, die maximale Anzahl von Fehlern, das Timeout usw. festlegen. Im Folgenden finden Sie Beispiele für häufig verwendete Gesundheitsprüfungsparameter:

upstream backend {
    server backend1.example.com max_fails=3 fail_timeout=30s;
    server backend2.example.com max_fails=3 fail_timeout=30s;
    server backend3.example.com max_fails=3 fail_timeout=30s;
}

In der obigen Konfiguration gibt max_fails die maximale Anzahl von Fehlern an und fail_timeout gibt das Timeout an. Wenn ein Server mehr als die maximale Anzahl aufeinanderfolgender Ausfälle ausfällt, gilt er als nicht verfügbar. Nginx leitet keine Anfragen mehr an den Server weiter und unterbricht die Weiterleitung von Anfragen an den Server für den Zeitraum der Zeitüberschreitung.

3. Integritätsprüfungsanfragen konfigurieren

Nginx führt Gesundheitsprüfungen durch, indem es HTTP-Anfragen an den Backend-Server sendet. Gesundheitsprüfungen können implementiert werden, indem ein Standortblock definiert und der Pfad und Antwortcode der Gesundheitsprüfungsanforderung konfiguriert wird. Das Folgende ist ein Konfigurationsbeispiel für eine Integritätsprüfungsanforderung:

location /healthcheck {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
}

In der obigen Konfiguration ist /healthcheck der Pfad der Integritätsprüfungsanforderung und Proxy_pass gibt den Zielserver für die Weiterleitung der Prüfungsanforderung an.

4. Konfigurieren Sie den Zustandsprüfungsstatus

Nginx konfiguriert den Zustandsprüfungsstatus über die Anweisung „proxy_next_upstream“. Wenn alle Server nicht verfügbar sind, kann Nginx so konfiguriert werden, dass es einen benutzerdefinierten Antwortcode zurückgibt, oder es kann direkt eine Fehlerseite an den Client zurückgeben. Das Folgende ist ein Konfigurationsbeispiel für den Zustandsprüfungsstatus:

http {
    upstream backend {
        server backend1.example.com max_fails=3 fail_timeout=30s;
        server backend2.example.com max_fails=3 fail_timeout=30s;
        server backend3.example.com max_fails=3 fail_timeout=30s;
        check interval=5s rise=2 fall=3 timeout=2s;
    }

    server {
        listen 80;
        server_name example.com;

        location /healthcheck {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
        }

        error_page 502 = /custom_502.html;
        location = /custom_502.html {
            root /usr/share/nginx/html;
            internal;
        }

        proxy_next_upstream error timeout invalid_header http_502;
    }
}

In der obigen Konfiguration gibt Prüfintervall das Prüfintervall an, Anstieg gibt die Anzahl aufeinanderfolgender Erfolge an, Fall gibt die Anzahl aufeinanderfolgender Fehler an und Timeout gibt das Timeout an. Mit diesen Parametern wird das Verhalten der Gesundheitsprüfung konfiguriert.

Mit der obigen Konfiguration kann eine Nginx-Server-Gesundheitsprüfung implementiert werden.

Zusammenfassung: Die Überprüfung des Serverzustands ist der Schlüssel zur Gewährleistung einer hohen Serviceverfügbarkeit. Durch die Konfiguration der Gesundheitsprüfungsparameter und -anforderungen von Nginx können Sie den Gesundheitszustand des Backend-Servers effektiv überwachen und die Weiterleitung von Anforderungen an den Server automatisch stoppen, wenn dieser nicht mehr verfügbar ist. Ich hoffe, dass die spezifischen Konfigurationsbeispiele in diesem Artikel für Sie hilfreich sind.

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn