Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Detaillierte Anleitung zur Containerbereitstellung und Clusterverwaltung des Nginx-Servers

Detaillierte Anleitung zur Containerbereitstellung und Clusterverwaltung des Nginx-Servers

PHPz
PHPzOriginal
2023-08-06 11:03:151821Durchsuche

Detaillierte Anleitung zur Container-Bereitstellung und Clusterverwaltung von Nginx Server

Einführung:
Mit der Entwicklung von Cloud Computing und Container-Technologie ist die Container-Bereitstellung zu einer gängigen Methode für die Entwicklung und Bereitstellung von Unternehmensanwendungen geworden. Als leistungsstarker Webserver und Reverse-Proxy-Server kann Nginx auch durch Containerisierung bereitgestellt und verwaltet werden. In diesem Artikel wird ausführlich beschrieben, wie Sie den Nginx-Server in Container umwandeln und die Hochverfügbarkeit durch Clusterverwaltung verbessern.

1. Vorbereitung
Zuerst müssen wir die Docker-Umgebung installieren und sicherstellen, dass der Docker-Dienst gestartet wird. Als nächstes müssen wir eine Dockerfile-Datei schreiben, um das Nginx-Docker-Image zu erstellen. Das Folgende ist ein einfaches Beispiel für eine Docker-Datei:

FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
COPY default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Diese Docker-Datei wählt zunächst das neueste Nginx-Image als Basis-Image aus und kopiert dann die Nginx-Konfigurationsdatei und die Standardkonfigurationsdatei für den virtuellen Host, die wir im Voraus vorbereitet haben. Schließlich wird Port 80 des Containers freigelegt und der Nginx-Server wird im Vordergrundmodus ausgeführt.

2. Erstellen Sie das Docker-Image
Nachdem wir die Docker-Datei vorbereitet haben, können wir den Docker-Build-Befehl verwenden, um das Docker-Image zu erstellen. Angenommen, wir speichern die Docker-Datei im aktuellen Verzeichnis, können wir sie mit dem folgenden Befehl erstellen:

docker build -t my_nginx .

Dieser Befehl erstellt ein Docker-Image mit dem Namen my_nginx basierend auf der Docker-Datei. Nachdem der Build abgeschlossen ist, können Sie mit dem Docker-Images-Befehl die vorhandene Image-Liste anzeigen und bestätigen, dass das my_nginx-Image erfolgreich erstellt wurde.

3. Führen Sie einen einzelnen Nginx-Container aus
Jetzt können wir einen Nginx-Container basierend auf dem my_nginx-Image erstellen und ausführen. Sie können den Befehl docker run verwenden, um diesen Vorgang auszuführen:

docker run -d -p 80:80 my_nginx

Dieser Befehl führt einen neuen Nginx-Container im Hintergrund aus und ordnet den Port 80 des Containers dem Port 80 des Hosts zu. Sie können überprüfen, ob der Nginx-Server ordnungsgemäß funktioniert, indem Sie über Ihren Browser auf http://localhost zugreifen.

4. Erstellen Sie einen Nginx-Cluster
Um die hohe Verfügbarkeit des Nginx-Servers zu verbessern, können wir das Cluster-Management-Tool von Docker verwenden, um einen Nginx-Cluster zu erstellen. In diesem Artikel verwenden wir Docker Swarm, um die Clusterverwaltung zu implementieren.

Zuerst müssen wir einen Swarm-Verwaltungsknoten initialisieren. Der aktuelle Knoten kann als Swarm-Verwaltungsknoten festgelegt werden, indem der folgende Befehl ausgeführt wird:

docker swarm init

Anschließend können wir zwei Worker-Knoten (Hosts) erstellen, indem wir den folgenden Befehl ausführen:

docker swarm join-token worker

Nach dem Ausführen des obigen Befehls wird eine Ausgabe ähnlich der folgenden angezeigt Folgendes wird generiert:

docker swarm join --token xxxxxxxxxxxxxxxx

Wir müssen diese Ausgabe verwenden, um die beiden Worker-Knoten mit dem Swarm-Cluster zu verbinden:

docker swarm join --token xxxxxxxxxxxxxxxx

Auf diese Weise haben wir die beiden Worker-Knoten erfolgreich zum Swarm-Cluster hinzugefügt. Als nächstes müssen wir einen Nginx-Dienst erstellen. Sie können den folgenden Befehl verwenden, um einen Nginx-Dienst zu erstellen:

docker service create --name nginx --replicas 3 -p 80:80 my_nginx

Dieser Befehl erstellt einen Dienst namens nginx im Cluster und gibt 3 Replikate an. Der Dienst erstellt und verteilt diese Replikate automatisch auf verschiedene Knoten im Cluster und baut so einen Nginx-Cluster auf. Mit dem Befehl docker service ls können Sie alle Dienste im Cluster und deren Status anzeigen.

5. Clusterverwaltungsvorgänge
Sobald wir den Nginx-Cluster eingerichtet haben, können wir einige grundlegende Clusterverwaltungsvorgänge durchführen.

  1. Erweiterung und Reduzierung
    Die Erweiterung und Reduzierung des Nginx-Dienstes kann durch die folgenden Befehle erreicht werden:
docker service scale nginx=5
docker service scale nginx=2

Der erste Befehl erweitert die Anzahl der Replikate des Nginx-Dienstes auf 5, und der zweite Befehl erhöht die Anzahl Replikate auf 2 reduziert.

  1. Dienstaktualisierung
    Wenn wir das Nginx-Image oder die Konfigurationsdatei aktualisieren müssen, können wir den folgenden Befehl verwenden, um den Dienst zu aktualisieren:
docker service update --image my_nginx:latest nginx

Dieser Befehl aktualisiert das Nginx-Dienst-Image auf die neueste Version. In ähnlicher Weise können wir auch andere Konfigurationsparameter des Dienstes über den Befehl „docker service update“ aktualisieren.

  1. Verwaltung der Skalierbarkeit des Dienstes
    Sie können die Skalierbarkeit des Dienstes mit den folgenden Befehlen anzeigen und verwalten:
docker service ps nginx
docker service inspect --pretty nginx

Der erste Befehl zeigt den Status und die Informationen aller Kopien des Nginx-Dienstes an, und der zweite Befehl zeigt die an Nginx-Dienst Detaillierte Informationen, einschließlich Knotenzuordnung und Replikat-Ausführungsstatus usw.

Fazit:
Durch die Containerisierung des Nginx-Servers für die Bereitstellung und Clusterverwaltung können wir eine höhere Verfügbarkeit und Flexibilität erreichen. In diesem Artikel wird ausführlich die Verwendung von Docker zum Erstellen von Nginx-Images, zum Ausführen eines einzelnen Containers und zum Verwenden von Docker Swarm zum Erstellen und Verwalten von Nginx-Clustern vorgestellt. Ich hoffe, dass die Leser durch diesen Artikel mehr über die Bereitstellung von Nginx-Containern und die Clusterverwaltung erfahren und sie in tatsächlichen Szenarien anwenden und erweitern können.

Das obige ist der detaillierte Inhalt vonDetaillierte Anleitung zur Containerbereitstellung und Clusterverwaltung des Nginx-Servers. 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