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

Farbverlaufseffekt im HTML-Hintergrund durch CSS-Stil erreicht

Screenshots der Effekte: Implementierungscode: Cod...

Detaillierte Analyse von GUID-Anzeigeproblemen in Mongodb

Finden Sie das Problem Ich habe kürzlich den Spei...

So verwenden Sie die JSX-Syntax richtig in Vue

Inhaltsverzeichnis Vorwort Virtueller DOM Was ist...

Lernen Sie Node.js von Grund auf

Inhaltsverzeichnis URL-Modul 1.Parse-Methode 2. F...

Was ist WML?

WML (Wireless Markup Language). Es handelt sich u...

Ein Beispiel, wie JavaScript doppelte Netzwerkanforderungen verhindern kann

Vorwort Während der Entwicklung stoßen wir häufig...

Eine kurze Diskussion über den Spaß von :focus-within in CSS

Ich glaube, einige Leute haben dieses Bild gesehe...

jQuery-Plugin für ein nahtloses Karussell

Ein nahtloses Karussell ist ein sehr häufiger Eff...

HTML-Tutorial: Sortierte Listen

<br />Originaltext: http://andymao.com/andy/...