Zusammenfassung der Bereitstellung des Tomcat-Clusters und des Nginx-Lastausgleichs basierend auf Docker

Zusammenfassung der Bereitstellung des Tomcat-Clusters und des Nginx-Lastausgleichs basierend auf Docker

Vorne geschrieben

Nachdem ich Bücher zu Doccer gelesen hatte, hatte ich zufällig ein Projekt, das dies erforderte, also habe ich es selbst geübt.

Betrachten Sie es als hundert Leben. Die Logik ist hier ganz klar: Ich denke, also bin ich. Da ich existiere, kann ich nicht so tun, als ob ich nicht existiere. Egal was passiert, ich muss die Verantwortung für mich selbst übernehmen. ——Wang Xiaobo, „Mit dreißig“


Strukturdiagramm:

Bildbeschreibung hier einfügen

Dies dient nur zum Lernen. Im Allgemeinen wird für diese Art von Last Nginx auf主機側und JavaWeb(Tomcat) im Container platziert.

Wirkung

Bildbeschreibung hier einfügen

Erstellen Sie einen neuen Ordner.

D=uag;mkdir $D;cd $D;mkdir uag_nginx uag_tomcat8;
 ls
 uag_nginx uag_tomcat8

1. Ngixn-Bilderstellung

cd uag_nginx/
# Wird zum Speichern von Konfigurationsdateien mkdir nginx verwendet
vim Docker-Datei

Dockerfile-Inhalt

VON nginx
LABEL Betreuer="uag"
ENV REFRESHED_AT 2021-08-27

EXPOSE 8099

Erstellen Sie den Inhalt der Nginx-Konfigurationsdatei

Diese Konfigurationsdatei wird über den Parameter -v mit dem Container geteilt, wenn der Container ausgeführt wird. Praktisch für spätere Parameteränderungen

cd ./nginx
vim nginx.conf

Inhalt der Konfigurationsdatei nginx.conf

Benutzer nginx;
Arbeiterprozesse automatisch;

error_log /var/log/nginx/error.log Hinweis;
pid /var/run/nginx.pid;
Daemon aus;

Ereignisse {
    Arbeiterverbindungen 1024;
}


http {
    /etc/nginx/mime.types einschließen;
    Standardtyp Anwendung/Oktett-Stream;

    log_format main '$upstream_addr - $remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    Zugriffsprotokoll /var/log/nginx/access.log Haupt;

    sendfile an;
    #tcp_nopush ein;

    KeepAlive-Timeout 65;

    #gzip ein;

    schließen Sie /etc/nginx/conf.d/*.conf ein;

    Server {
        hören Sie 8099;
        Servername localhost;

        Wurzel /var/www/html/;
        Index Index.html Index.htm;

        Zugriffsprotokoll /var/log/nginx/default_access.log Haupt;
        Fehlerprotokoll /var/log/nginx/default_error.log;

        
        Standort / {
                Proxy-Passwort http://backend;
        }

        Standort ~ .* {
                        Proxy-Passwort http://backend;
                        Proxy_set_header Host $http_host;
                        Proxy_Set_Header X-Real-IP $Remote_Addr;
                        proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
                }

        

}
    # Konfigurieren Sie hier das Upstream-Backend {
    Server 172.23.231.190:8069;
    Server 172.23.231.190:8079;
    Server 172.23.231.190:8089;
}
}

Konfigurieren Sie die Last: 172.23.231.190 ist die Host-IP, 8069, 8079, 8089 sind die entsprechenden für das Java-Web verfügbaren Anwendungsports.

 # Konfigurieren Sie hier das Upstream-Backend {
    Server 172.23.231.190:8069;
    Server 172.23.231.190:8079;
    Server 172.23.231.190:8089;
}

Nginx-Image erstellen

Docker-Build -t uag/uag_nginx.

2. Erstellen eines Java Web (Tomcat)-Anwendungsbildes

cd uag_tomcat8/

vim Docker-Datei

Dockerfile-Inhalt

VON dordoka/tomcat
WARTUNGSMITARBEITER LIRUILONG

KOPIEREN SIE UAWeb.war /opt/tomcat/webapps/UAWeb.war

EXPOSE 8080

EINSTIEGSPUNKT [ "/opt/tomcat/bin/catalina.sh", "ausführen" ]

Laden Sie das entsprechende War-Paket hoch

ls
Docker-Datei UAWeb.war

Erstellen des Images

Docker-Build -t uag/uag_tomcat.

3. Führen Sie das Container-Nginx-Image aus

docker run -d -p 8099:8099 --name uag_nginx -v $PWD/nginx/nginx.conf:/etc/nginx/nginx.conf uag/uag_nginx nginx

Java Web (Tomcat) Image

docker run -it -d -p 8089:8080 --name uag_app_1 uag/uag_tomcat
 docker run -it -d -p 8079:8080 --name uag_app_2 uag/uag_tomcat
 docker run -it -d -p 8069:8080 --name uag_app_3 uag/uag_tomcat

Anzeigen laufender Container

Bildbeschreibung hier einfügen

Browserzugriff

Bildbeschreibung hier einfügen

Lademodus anzeigen: der Modus des neuen Prozesses

Bildbeschreibung hier einfügen

Zeigen Sie den Lademodus an: –volumes-from-Modus

Docker-Datei

VON nginx
LABEL Betreuer="uag"
ENV REFRESHED_AT 2021-08-27

VOLUME /var/log/nginx/
AUSSETZEN 80
┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
└─$ docker run -it --rm --volumes-from nginx_log centos cat /var/log/nginx/default_access.log
172.23.231.190:8069 - 172.17.0.1 - - [30/Aug/2021:12:55:02 +0000] "GET /UAWeb/services/listServices HTTP/1.1" 200 12660 "http://127.0.0.1:8099/UAWeb/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"

172.23.231.190:8079 - 172.17.0.1 - - [30/Aug/2021:12:55:02 +0000] "GET /UAWeb/axis2-web/css/axis-style.css HTTP/1.1" 200 1587 "http://127.0.0.1:8099/UAWeb/services/listServices" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
172.23.231.190:8069 - 172.17.0.1 - - [30/Aug/2021:12:55:02 +0000] "GET /UAWeb/axis2-web/images/asf-logo.gif HTTP/1.1" 200 5866 "http://127.0.0.1:8099/UAWeb/services/listServices" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
172.23.231.190:8079 - 172.17.0.1 - - [30/Aug/2021:12:55:02 +0000] "GET /UAWeb/axis2-web/images/axis_l.jpg HTTP/1.1" 200 12340 "http://127.0.0.1:8099/UAWeb/services/listServices" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
172.23.231.190:8089 - 172.17.0.1 - - [30/Aug/2021:12:55:03 +0000] "GET /UAWeb/services/listServices HTTP/1.1" 200 12660 "http://127.0.0.1:8099/UAWeb/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
172.23.231.190:8069 - 172.17.0.1 - - [30/Aug/2021:12:55:03 +0000] "GET /UAWeb/axis2-web/images/asf-logo.gif HTTP/1.1" 200 5866 "http://127.0.0.1:8099/UAWeb/services/listServices" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/92

Erstellen Sie das Image und laden Sie es in das Repository hoch:

Bildbeschreibung hier einfügen

Nun, Sie müssen ein Docker Hub賬號registrieren, sich dann anmelden und賬戶名/

┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
└─$ docker push liruilong/nginx_log
Der Push bezieht sich auf das Repository [docker.io/liruilong/nginx_log]
Ein Bild mit dem Tag „liruilong/nginx_log“ existiert lokal nicht

┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
└─$ Docker-Tag 9c9af0362eb9 liruilong/nginx_log

┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
└─$ docker push liruilong/nginx_log
Der Push bezieht sich auf das Repository [docker.io/liruilong/nginx_log]
fb04ab8effa8: Geschoben
8f736d52032f: Geschoben
009f1d338b57: Geschoben
678bbd796838: Geschoben
d1279c519351: Geschoben
f68ef921efae: Geschoben
zuletzt: Digest: sha256:2af7e8aeab84e8a816caf6b0342e1a45f95c7089ff52578040ea3a4c28a943c7 Größe: 1570

┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
└─$ docker push liruilong/nginx_log:tagname # Ziehe das Image 

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die Bereitstellung eines Tomcat-Clusters und des Nginx-Lastausgleichs basierend auf Docker. Weitere Informationen zur Bereitstellung des Tomcat Nginx-Lastausgleichs mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Installation und Konfiguration des Nginx+Tomcat-Load-Balancing-Clusters
  • Implementierungsbeispiel eines Nginx+Tomcat-Load-Balancing-Clusters
  • Implementierungsmethode des Nginx+Tomcat-Lastausgleichsclusters
  • Erstellen Sie einen Tomcat9-Cluster über Nginx und realisieren Sie die Sitzungsfreigabe
  • So erstellen Sie einen Tomcat-Cluster mit Nginx

<<:  Analyse und Neugestaltung von Musikplayer-Apps (Anwendungssoftware) So gestalten Sie eine ansprechende Musikplayer-Oberfläche

>>:  Beherrschen Sie die CSS-Eigenschaft „display:flow-root“-Deklaration in einem Artikel

Artikel empfehlen

Implementierung der Formatierung von Partitionen und der Einbindung in Centos7

Unter Linux treten häufig Situationen auf, in den...

Zwei Methoden der MySql-Kommaverkettungs-Stringabfrage

Die folgenden beiden Funktionen werden auf die gl...

Fallstudie zur dynamischen Datenbindung von this.$set in Vue

Ich finde, dass die Erklärung von this.$set im In...

Detaillierte Schritte zur Installation von MySQL in Win

In diesem Artikel werden die detaillierten Schrit...

So zeigen Sie verfügbare Netzwerkschnittstellen in Linux an

Vorwort Die häufigste Aufgabe nach der Installati...

Vue.js implementiert eine einfache Timerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Grafisches Tutorial zum Herunterladen und Installieren von MySQL 5.7 und höher

1. Herunterladen 1. Download-Adresse der offiziel...

MySQL-Gruppierungsabfragen und Aggregatfunktionen

Überblick Ich glaube, dass wir häufig auf solche ...

Detaillierte Schritte zur Installation von mysql5.7.18 auf dem Mac

1. Werkzeuge Wir benötigen jetzt zwei Tools: MySQ...

Referenz zur MySQL-Optimierungslösung

Probleme, die bei der Optimierung auftreten könne...

Einführung in die reaktive Funktion toRef-Funktion ref-Funktion in Vue3

Inhaltsverzeichnis Reaktive Funktion Verwendung: ...

Einfaches Grafik-Tutorial zur Verwendung von Adobe Brackets

Adobe Brackets ist eine Open Source-, einfache un...