Analyse des Prozesses zum Aufbau einer Clusterumgebung mit Apache und Tomcat

Analyse des Prozesses zum Aufbau einer Clusterumgebung mit Apache und Tomcat

Tatsächlich ist es nicht schwierig, einen Apache-Cluster zu erstellen. Ich habe auch einige Informationen im Internet gefunden und ihn selbst konfiguriert. Natürlich gibt es einige Parameter, die Sie selbst festlegen müssen, um das Beste zu erreichen

Der erste Schritt zum Aufbau eines Clusters ist das Herunterladen der Software. Da der Server auf der Firmenseite Win2003 ist, werden einige Vorgänge gespart:

Apache-Download-Adresse: http://httpd.apache.org/ Ich habe Apache httpd 2.2.27 veröffentlicht

Tomcat-Download-Adresse: http://tomcat.apache.org/download-60.cgi Ich habe die dekomprimierte Version von 6.0.39 heruntergeladen

Der erste Schritt besteht darin, Tomcat zu konfigurieren. Da Tomcat jeder Knoten des Clusters ist, müssen wir zunächst sicherstellen, dass jeder Knoten normal ausgeführt werden kann:
Erstellen Sie zwei Knoten, entpacken Sie den Tomcat-Ordner und benennen Sie sie jeweils „tomcat-node1“ und „tomcat-node2“.
Konfigurationsdateien, die geändert werden müssen:

Tomcat-Startspeicher:

Im Bin-Verzeichnis wird catalina.bat verwendet. Da es sich um Win2003 handelt, ist es unter Linux catalina.sh. Fügen Sie oben in der Datei Folgendes hinzu:

Setzen Sie JAVA_OPTS=-Xms256m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000

Unter Linux ist die Schreibweise etwas anders:

JAVA_OPTS="-server -Xms256m -Xmx1030m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

Um die genaue Bedeutung der einzelnen Parameter und den spezifischen Optimierungsplan zu erfahren, googeln Sie „Tomat-Startspeicher“. Hier sei darauf hingewiesen, dass unter Windows der maximale Startspeicher der JVM 1/4 des Gerätespeichers beträgt. Egal, wie groß Sie ihn auf meinem Computer einstellen, er beträgt 1300 MB.

Tomcat-Protokollkonfiguration:

Sie können die logging.properties unter conf ignorieren, es sollte jedoch darauf hingewiesen werden, dass das Protokoll, wenn es nicht konfiguriert ist, die Festplatte füllen kann, nachdem der Dienst lange ausgeführt wurde, was zu Ausfallzeiten führt. Ich bin schon einmal darauf gestoßen, daher werde ich nicht mehr dazu sagen.
Beim Konfigurieren von Protokollen müssen einige Punkte beachtet werden: 1: Protokollausgabeadresse. 2: Protokollausgabeebene. 3: Versuchen Sie, die Größe der Protokollausgabe selbst zu konfigurieren. Ich denke, auch wenn Sie sie nicht konfigurieren, hat dies keine Auswirkungen auf Ihre Lesbarkeit.

Tomcat-Überwachungskonfiguration:

conf enthält die Datei folgenden Inhalt:

<?xml version='1.0' encoding='utf-8'?>
<Tomcat-Benutzer>
</tomcat-Benutzer>

Ich meine, abgesehen von den Kommentaren. So fügen Sie einen Benutzer hinzu:

<?xml version='1.0' encoding='utf-8'?>
<Tomcat-Benutzer>
<Rolle Rollenname="Manager"/>
<Benutzer Benutzername="admin" Passwort="admin_cui" Rollen="Manager"/>
</tomcat-Benutzer>

Ausgefallenere Konfigurationen, na ja, Sie wissen schon. Nach der Konfiguration können Sie den aktuellen Status der Verbindungsverarbeitung unter http://localhost:8011/manager/html anzeigen.

Kern, Fokus, server.xml

Drei Häfen, ein Name:

Management-Port: Vor shutdown steht ein Port="SHUTDOWN". Den ersten Port habe ich auf 8012 und den zweiten auf 22 eingestellt.

<Server-Port="8012" shutdown="HERUNTERFAHREN">

Service-Anschluss:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="300" minSpareThreads="50" maxIdleTime="120000" />
<Connector Executor="tomcatThreadPool" Adresse="0.0.0.0" Port="8011" Protokoll="org.apache.coyote.http11.Http11NioProtocol" Verbindungs-Timeout="120000"
maxKeepAliveRequests="1" redirectPort="443" maxHttpHeaderSize="8192" URIEncoding="UTF-8" enableLookups="false" acceptCount="500" compression="on"
compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" disableUploadTimeout="true"/>

Es ist ersichtlich, dass dies alles optimierte Konfigurationen sind, einschließlich NIO, Verbindungspool, Kodierung, Komprimierung usw. Die Bedeutung jedes Parameters wird nicht im Detail erläutert.
AJP-Anschluss:

<Connector port="8039" protocol="AJP/1.3" redirectPort="8443" />

jvmRoute-Name, der beim Clustering verwendet wird:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm3">

Die folgende Konfiguration ist ebenfalls freigegeben:

<Cluster-Klassenname="org.apache.catalina.ha.tcp.SimpleTcpCluster" />

Wenn Sie Tomcat starten und auf 8011 zugreifen können, ist dieser Knoten konfiguriert. Andere Knoten sind gleich. Denken Sie daran, dass die drei Ports und ein Name für jeden Knoten unterschiedlich sein müssen.

Konfigurieren Sie Apache

Die Konfigurationsdatei httpd.conf ist die wichtigste Konfigurationsdatei. Bei der Konfiguration sollten folgende Punkte beachtet werden:
Geben Sie das Laden des Proxy-Moduls frei:

Lademodul proxy_module module/mod_proxy.so
Lademodul proxy_ajp_module module/mod_proxy_ajp.so
Lademodul proxy_balancer_module module/mod_proxy_balancer.so
Lademodul proxy_connect_module module/mod_proxy_connect.so
Lademodul proxy_ftp_module module/mod_proxy_ftp.so
Lademodul proxy_http_module module/mod_proxy_http.so
Lademodul proxy_scgi_module module/mod_proxy_scgi.so

Offener Zugang zur Website. Ich werde hier nicht ins Detail gehen. Ich werde sie einfach öffnen.

Von allen ablehnen

Ändern Sie alle

erlauben von allen

Entsperren Sie die folgenden Konfigurationsdateien und entfernen Sie das # davor.

  • Include conf/extra/httpd-mpm.conf Hilfskonfigurationsdatei zum Konfigurieren des Multi-Channel Processing Module (MPM)
  • Include conf/extra/httpd-vhosts.conf Hilfskonfigurationsdatei zum Konfigurieren virtueller Hosts
  • Include conf/extra/httpd-default.conf konfiguriert zusätzliche Konfigurationsdateien, die sich auf den Apache-Dienst selbst beziehen.

httpd-mpm.conf und httpd-default.conf sind die Standardeinstellungen. Wenn Sie einige relevante Konfigurationen entsprechend der tatsächlichen Situation vornehmen möchten, können Sie den vorherigen Artikel lesen.
Konfigurieren Sie für httpd-vhosts.conf das Service-Tag des Clusterknotens und legen Sie ServerAlias ​​​​auf die lokale IP fest.

<VirtuellerHost *:80>
ServerAdmin [email protected]
Servername 192.168.1.102
ServerAlias ​​​​192.168.1.102
ProxyPass / Balancer: // Cluster / Stickysession = jsessionid Nofailover = Ein
ProxyPassReverse / Balancer: // Cluster /
Fehlerprotokoll „logs/lbtest-error.log“
CustomLog "logs/lbtest-access.log" allgemein
</VirtualHost>

Fügen Sie unten in httpd.conf die folgende Konfiguration hinzu

ProxyRequests aus
<Proxy-Balancer://Cluster>
BalancerMember ajp://127.0.0.1:8019 Lastfaktor=1 Route=jvm1
BalancerMember ajp://127.0.0.1:8029 Lastfaktor=1 Route=jvm2
</Proxy>

Aktivieren Sie den Reverse-Proxy und verwenden Sie den AJP-Proxy für den Zugriff. Loadfactor ist das Verteilungsgewicht und Route ist der in Tomcat definierte Name. Beachten Sie, dass dies der AJP-Port ist, nicht der Tomcat-Service-Port.

Die Leistungsoptimierung von Tomcat und die Anpassung der Apache-Konfigurationsdatei sind zwei wichtige Faktoren, die sich auf die Clusterleistung auswirken.
An diesem Punkt ist die Konfiguration eigentlich abgeschlossen. Es muss noch erwähnt werden, dass Sie für die Sitzungsfreigabe einfach die <distributable/>-Konfiguration in die web.xml jedes Projekts einfügen müssen.

Starten Sie Tomcat und Apache und greifen Sie dann auf das eigentliche Projekt zu.

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:
  • Erstellen Sie einen Cluster mit Apache und Tomcat (Lastausgleich)
  • So stellen Sie eigenständigen Pulsar und geclustertes Redis mit Docker bereit (Entwicklungsartefakt)
  • Detaillierter Prozess zum Erstellen und Bereitstellen eines Apache Pulsar-Clusters

<<:  JavaScript zum Anzeigen versteckten Formulartexts

>>:  MySQL-Lernprogramm Clustered Index

Artikel empfehlen

Detaillierte Analyse des HTTP-Statuscodes 502 des Dienstes nginx+php-fpm

Bei einem unserer Webprojekte ist aufgrund der Zu...

So verwenden Sie ECharts in WeChat Mini-Programmen mit uniapp

Heute verwenden wir Uniapp, um Echarts zur Anzeig...

So verwenden Sie Dayjs zum Berechnen gängiger Daten in Vue

Bei der Verwendung von Vue zur Entwicklung von Pr...

Informationen zur Verwendung der Vue v-on-Direktive

Inhaltsverzeichnis 1. Auf Ereignisse achten 2. Üb...

Bringen Sie Ihnen bei, wie Sie den Beobachtermodus in Javascript implementieren

Inhaltsverzeichnis Was ist das Beobachtermuster? ...

Zusammenfassung der 11 häufigsten Fehler von MySQL-Anfängern

Vorwort Sie erhalten möglicherweise häufig Warn-E...

Detaillierte Installation und Konfiguration von hadoop2.7.2 unter Ubuntu15.10

Im Internet und in vielen Büchern gibt es viele T...

So installieren und implementieren Sie MySQL 8.0 unter CentOS8

Die offizielle Version 8.0.11 von MySQL 8 wurde v...

Beispielcode zur Implementierung eines Foto-Stacking-Effekts mit CSS

Ergebnisse erzielen Schritt 1. Ursprüngliche inde...

Automatisierte Schnittstellentests mit Postman

Inhaltsverzeichnis Hintergrundbeschreibung Erstel...

Zusammenfassung gängiger MySQL-DDL-Operationen

Bibliotheksverwaltung Erstellen einer Bibliothek ...