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

Probleme beim Springen auf HTML-Seiten und bei der Parameterübertragung

HTML-Seitensprung: Fenster.öffnen(URL, "&quo...

So zeigen Sie alle laufenden Prozesse in Linux an

Sie können den Befehl ps verwenden. Es kann relev...

Implementierung von dynamischem REM für mobiles Layout

Dynamische REM 1. Lassen Sie uns zunächst die akt...

Beschreibung der Grenzen und Bereiche zwischen MySQL

MySQL zwischen Grenzbereich Der Bereich zwischen ...

Warum MySQL Repeatable Read als Standardisolationsebene wählt

Inhaltsverzeichnis Oracle-Isolationsebenen MySQL-...

Lösung zum Importieren weiterer Daten aus MySQL in Hive

Ursprünglicher abgeleiteter Befehl: bin/sqoop imp...

Implementierungsprozess des Nginx-Hochverfügbarkeitsclusters

Dieser Artikel stellt hauptsächlich den Implement...

So zählen Sie das Datum mit Bash herunter

Sie möchten wissen, wie viele Tage es bis zu eine...

MySQL verwendet SQL-Anweisungen zum Ändern von Tabellennamen

In MySQL können Sie die SQL-Anweisung „rename tab...

Implementierung eines schwebenden Werbestreifens in HTML und CSS

1.html Teil Code kopieren Der Code lautet wie folg...

So dockerisieren Sie eine Python-Django-Anwendung

Docker ist ein Open-Source-Projekt, das Entwickle...

Sie müssen wirklich die Verwendung von CSS-Variablen var() verstehen

Wenn ein Webprojekt immer größer wird, werden sei...