Nginx verwendet Reverse-Proxy, um eine Analyse des Lastausgleichsprozesses zu implementieren

Nginx verwendet Reverse-Proxy, um eine Analyse des Lastausgleichsprozesses zu implementieren

Einführung

Basierend auf Docker-Containern und Docker-Compose müssen Sie die grundlegende Verwendung von Docker in der Linux-Umgebung erlernen

Verwenden Sie zwei Tomcat als Lastausgleichsserver

1. Verwenden Sie Docker, um Tomcat- und Nginx-Images abzurufen

Nginx-Referenz abrufen

Tomcat-Referenz abrufen

2. Verwenden Sie Docker-Compose, um zwei Tomcat-Dienste zu erstellen

Erstellen Sie ein neues Tomcat-Verzeichnis, erstellen Sie eine docker-compose.yml-Datei im Verzeichnis und geben Sie den folgenden Inhalt ein:

Version: '3'
Leistungen:
  tomcat1:
    Bild: Kater
    Containername: tomcat1
    Häfen:
      9090:8080

  tomcat2:
    Bild: Kater
    Containername: Tomcat2
    Häfen:
      - 9091:8080

Führen Sie den folgenden Befehl im selben Verzeichnis wie die Datei docker-compose.yml aus, um den Container zu starten (-d bedeutet, dass er im Hintergrund ausgeführt wird).

docker-compose up -d

Überprüfen Sie nach dem Erfolg die Docker-Containerliste

Befehl

Docker PS

Das Ergebnisbeispiel hat zwei Container, tomcat1 und tomcat2

CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
271dd3610d1d Tomcat „catalina.sh run“ vor 58 Minuten Aktiv seit 58 Minuten 0.0.0.0:9091->8080/tcp Tomcat2
fa19d20f0022 Tomcat „catalina.sh run“ vor 58 Minuten Aktiv seit 58 Minuten 0.0.0.0:9090->8080/tcp Tomcat1

Rufen Sie den Container interaktiv auf und ändern Sie den Inhalt der Homepage, um zwischen den beiden Tomcats zu unterscheiden (Tomcat wird unten als Beispiel verwendet).

Befehl

docker exec -it fa19d20f0022 bash

Inhalte zur Homepage hinzufügen

echo "9090" >> webapps/ROOT/index.jsp

3. Erstellen Sie einen Nginx-Dienst

Erstellen Sie ein neues Nginx-Verzeichnis, erstellen Sie eine Docker-Compose.yml-Datei im Verzeichnis und geben Sie den folgenden Inhalt ein:

Version: '3.1'
Leistungen:
  nginx:
    Neustart: immer
    Bild: nginx
    Containername: nginx
    Häfen:
      - 81:80
    Bände:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf

Da Docker-Compose /conf/nginx.conf automatisch als Ordner behandelt, müssen Sie vor dem Erstellen des Containers ein conf-Verzeichnis im nginx-Verzeichnis erstellen und eine nginx.conf-Datei im conf-Verzeichnis erstellen und den folgenden Inhalt eingeben:

Benutzer nginx;
Arbeiterprozesse 1;

Ereignisse {
 Arbeiterverbindungen 1024;
}

http {
 upstream meineapp1 {
  Server [Server-IP]:9090 Gewicht=10;
  Server [Server-IP]:9091 Gewicht=10;
 }
 Server {

  hören Sie 80;
  Servername [Server-IP];
  Standort / {
   Proxy-Passwort http://meineApp1;
  }
 }
}

Im selben Verzeichnis wie docker-compose.yml ausführen

docker-compose up -d

4. Besuchen Sie [Server-IP]:81, aktualisieren Sie mehrmals und beobachten Sie das Umschalten zwischen den beiden Tomcat-Diensten.

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:
  • So implementieren Sie Nginx Reverse Proxy und Load Balancing (basierend auf Linux)
  • Nginx-Reverseproxy und Lastausgleichspraxis
  • Eine kurze Diskussion über den siebenschichtigen Reverse-Proxy und Lastenausgleich von Nginx
  • Detaillierte Erläuterung der Nginx-Lastverteilung und der Reverse-Proxy-Konfiguration und -Optimierung
  • Detaillierte Bereitstellungsanleitung für den Nginx-Reverseproxy und Lastenausgleich
  • Detaillierte Erläuterung des Nginx HTTP-Lastausgleichs und der Reverse-Proxy-Konfiguration
  • Erläuterung zum Lastenausgleich und Reverseproxy von Nginx

<<:  JavaScript-Offset implementiert die Erfassung der Mauskoordinaten und das Ziehen von Modulen innerhalb des Fensters

>>:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.24

Artikel empfehlen

Warum wird in MySQL keine UTF-8-Kodierung verwendet?

MySQL UTF-8-Kodierung MySQL unterstützt UTF-8 sei...

So stellen Sie K8s in Docker bereit

K8s k8s ist ein Cluster. Es gibt mehrere Namespac...

Linux-Datei-/Verzeichnisberechtigungen und Eigentümerverwaltung

1. Übersicht über Dateiberechtigungen und Eigentu...

Implementierung des Nginx Intranet Standalone Reverse Proxy

Inhaltsverzeichnis 1 Nginx Installation 2 Nginx k...

Vue implementiert ein Suchfeld mit einer Lupe

In diesem Artikel erfahren Sie, wie Sie mit Vue e...

Tiefgreifendes Verständnis von Worker-Threads in Node.js

Inhaltsverzeichnis Überblick Die Geschichte der C...

Beispiele für die Verwendung von HTML-Metadaten

Beispielverwendung Code kopieren Der Code lautet w...

Konkretes Beispiel einer MySQL-Mehrtabellenabfrage

1. Verwenden Sie die SELECT-Klausel, um mehrere T...

Detaillierte Erläuterung der Kernkonzepte und Fälle von webpack-dev-server

Kernkonzepte von webpack-dev-server Webpacks Cont...

HTML-Grundlagen - Einfaches Beispiel zum Festlegen des Hyperlink-Stils

*** Beispiel für das Festlegen des Stils eines Hy...

JS Cross-Domain-XML – mit AS URLLoader

Kürzlich erhielt ich eine Anforderung für eine Fun...