Aktueller Standort: Startseite> Neueste Artikel> Eine vollständige Anleitung zum Konfigurieren eines NGINX -Proxy -Servers in Docker, um Web -Service Health -Überprüfungen zu implementieren

Eine vollständige Anleitung zum Konfigurieren eines NGINX -Proxy -Servers in Docker, um Web -Service Health -Überprüfungen zu implementieren

M66 2025-07-09

Die Bedeutung der Konfiguration eines NGINX -Proxy -Servers in einem Docker -Container zur Unterstützung von Webdienstgesundheitsüberprüfungen

Mit der Popularisierung der Container -Bereitstellung ist die Gewährleistung des stabilen Betriebs von Webdiensten besonders kritisch geworden. Durch die Konfiguration eines Gesundheitsüberprüfungsmechanismus können Sie den Servicestatus in Echtzeit überwachen, abnormale Weise rechtzeitig behandeln und die hohe Verfügbarkeit des Gesamtsystems verbessern. Als beliebter Reverse-Proxy-Server konfiguriert NGINX Gesundheitsprüfungen in der Docker-Umgebung, um den Gesundheitszustand von Back-End-Diensten effektiv zu überwachen.

Erstellen Sie ein benutzerdefiniertes Nginx -Image Dockerfile

Zunächst müssen Sie eine DockerFile schreiben, um ein Nginx -Bild zu erstellen, das benutzerdefinierte Konfigurations- und Gesundheitsprüfungsskripte enthält. Der Inhalt ist wie folgt:

 Von nginx

# Kopieren Sie die benutzerdefinierte Konfigurationsdatei in den Container kopieren Sie nginx.conf /etc/nginx/nginx.conf

# Kopieren Sie das Health -Check -Skript in die Containerkopie Check.sh /etc/nginx/check.sh

# Ausführungsberechtigungen hinzufügen. Führen Sie CHMOD +x /etc/nginx/check.sh aus

# Setzen Sie den Befehl cmd /etc/nginx/check.sh && nginx -g "Daemon off;"

Passen Sie die NGINX -Konfigurationsdateien an, um Proxy- und Gesundheitsprüfung zu implementieren

Erstellen Sie die Datei nginx.conf, konfigurieren Sie Reverse Proxy und Health Check -Pfad. Beispiele sind wie folgt:

 Benutzer nginx;
Worker_Processes 1;

Ereignisse {
    Worker_Connections 1024;
}

http {
    Upstream Backend {
        Server App1: 8080;
        Server App2: 8080;
    }

    Server {
        Hören Sie 80;
        server_name localhost;

        Standort / {
            proxy_pass http: // Backend;
        }

        Ort /Gesundheit {
            Rückkehr 200;
        }
    }
}

Unter ihnen definiert das Upstream -Backend zwei Backend -Service -Container, und der Gesundheitspfad /der Gesundheitspfad / der Statuscode 200 gibt an, was darauf hinweist, dass der Service normal ist.

Schreiben Sie ein Health -Check -Skript, um vor dem Start die Bestätigung des Dienststatus zu erreichen

Überprüfen Sie, ob der NGINX -Dienst erfolgreich über die Schriftzug von Check.sh -Shop gestartet wird. Der Code ist wie folgt:

 #!/bin/bash

# Die Serveradresse, die überprüft wird, Host = localhost
# Der Server -Port zu überprüfen port = 80

# Überprüfen Sie, ob der Dienst normal ist, bis der Dienst erfolgreich beginnt oder die maximale Anzahl von Wiederholungen für i in {1..10} überschreitet
Tun
    # Fordern Sie den Gesundheitsprüfpfad des Dienstes an und erhalten Sie den zurückgegebenen HTTP -Statuscode Status = $ (curl -li "$ host: $ port/health" -O/dev/null -w '%{http_code}' -s)

    # Wenn der HTTP -Statuscode 200 ist, beweist er, dass der Dienst normal ist, beenden Sie das Skript, wenn [$ Status -eq 200]; Dann
        Echo "Health Check bestanden, Nginx ist in Betrieb."
        beenden 0
    fi

    Echo "Warten auf Nginx, startet ..."
    Schlaf 1
Erledigt

# Wenn die Anzahl der Wiederholungen die Anzahl der Wiederholung überschreitet, drucken Sie die Fehlermeldung aus und beenden Sie das Skript -Echo "Die Gesundheitsprüfung ist fehlgeschlagen, Nginx startete nicht."
Ausgang 1

NGINX -Container erstellen und starten

Führen Sie den folgenden Befehl aus, um das Bild zu erstellen und den Container auszuführen:

 Docker Build -t my -nginx.
Docker Run -d -p 8080: 80 --Name my-nginx-container my-nginx

Dadurch wird ein Bild namens My-nginx erstellt und eine Containerinstanz startet, die den Host-Port 8080 auf den Containerport 80 ordnet.

Zusammenfassen

Über benutzerdefinierte DockerFile, NGINX-Konfigurationsdateien und Health Check-Skripte wird die Gesundheitsüberwachung von Back-End-Webdiensten durch den NGINX-Proxy-Server im Docker-Container realisiert. Diese Konfiguration verbessert nicht nur die Stabilität des Dienstes, sondern erleichtert auch die nachfolgende Expansion und Wartung. Es wird empfohlen, die Logik der Gesundheitsinspektion und die Lastausgleichsstrategie auf der Grundlage der tatsächlichen Geschäftsanforderungen weiter zu verbessern.