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

Detaillierte Erläuterung des mobilen Projekts vite2.0 + vue3

1. Technische Punkte Vite-Version vue3 ts Integri...

Detaillierte Erklärung der HTML-Formularelemente (Teil 2)

HTML-Eingabeattribute Das Value-Attribut Das Valu...

Zusammenfassung der Probleme bei der Speicherplatzfreigabe unter Linux

Die /Partitionsauslastung eines Servers im IDC is...

Schritte zum Ausführen von ASP.NET Core im Docker-Container

Es gibt in letzter Zeit zu viel Wissen zu lernen,...

Detaillierte Erklärung der Ansichtszusammenfassungsdefinition im Angular-Framework

Vorwort Als Front-End-Framework, das „für große F...

So unterstützen Sie vollständiges Unicode in MySQL/MariaDB

Inhaltsverzeichnis Einführung in utf8mb4 Fehler b...

Installations- und Nutzungsprotokoll von VMware ESXi (mit Download)

Inhaltsverzeichnis 1. Installieren Sie ESXi 2. ES...

Beispiel einer DOM-Operationstabelle (DOM erstellt Tabelle)

1. Erstellen Sie eine Tabelle mit HTML-Tags: Code...

Beispiel für die Verwendung von UserMap in IMG

usemap ist ein Attribut des <img>-Tags, das ...

Analyse von 2 Token-Gründen und Beispielcode in der Webprojektentwicklung

Inhaltsverzeichnis Frage: Es gibt 2 Token im Proj...