Methoden und Schritte zum Bereitstellen mehrerer War-Pakete in Tomcat

Methoden und Schritte zum Bereitstellen mehrerer War-Pakete in Tomcat

1 Hintergrund

JDK1.8-u181 und Tomcat8.5.53 wurden installiert.

Nach der Installation sind JAVA_HOME und Path in den Umgebungsvariablen konfiguriert. Es ist mit JRE ausgestattet, nicht mit JDK.

Zwei Kriegspakete müssen veröffentlicht werden, MES und ERP.

2 Tomcat installieren

Ich habe die EXE-Datei zur Installation verwendet und tomvat_home nach der Installation nicht konfiguriert (weil ich nicht weiß, ob es konfiguriert werden muss).

3 Ordner kopieren

3.1 InstallationsverzeichnisconfCatalina

Catalina ist ein Ordner. Kopieren Sie Catalina in zwei Ordner, einen mit dem Namen CatalinaMES und den anderen mit dem Namen CatalinaERP. Legen Sie beide in das Installationsverzeichnis\conf.

3.2 Installationsverzeichnis webapps

webapps ist auch ein Ordner. Erstellen Sie zwei Kopien, eine mit dem Namen webappsMES und die andere mit dem Namen webappsERP, und platzieren Sie beide im Installationsverzeichnis.

Das War-Paket des MES-Projektes befindet sich im Installationsverzeichnis\webappsMES

Das War-Paket des ERP-Projektes befindet sich im Installationsverzeichnis\webappsERP

4 Ändern Sie die Konfigurationsdatei

Ändern Sie den Inhalt im Installationsverzeichnis\conf\server.xml

<?xml version="1.0" encoding="UTF-8"?>

<Server-Port="-1" shutdown="HERUNTERFAHREN">
<Listener-Klassenname="org.apache.catalina.startup.VersionLoggerListener" />

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

<Listener-Klassenname="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener-Klassenname="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener-Klassenname="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<GlobalNamingResources>

<Ressourcenname="Benutzerdatenbank" auth="Container"
Typ="org.apache.catalina.UserDatabase"
Beschreibung="Aktualisierbare und speicherbare Benutzerdatenbank"
Fabrik="org.apache.catalina.users.MemoryUserDatabaseFactory"
Pfadname="conf/tomcat-users.xml" />
</GlobalNamingResources>

<!-- Nachrichten bereitstellen -->
<Dienstname="CatalinaMES">

<Anschlussport="8085" Protokoll="HTTP/1.1"
VerbindungsTimeout="20000"
UmleitungsPort="8443" />

<Engine-Name="CatalinaMES" Standardhost="localhost">

<Realm-Klassenname="org.apache.catalina.realm.LockOutRealm">

<Realm-Klassenname="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="Benutzerdatenbank"/>
</Reich>

<Hostname="localhost" appBase="webappsMES"
unpackWARs="true" autoDeploy="true">

<Context path="/mes-manager-web" docBase="C:\Programme\Tomcat 8.5\webappsMES\mes-manager-web" debug="0" privileged="true"></Context>

<Valve-Klassenname="org.apache.catalina.valves.AccessLogValve" Verzeichnis="Protokolle"
Präfix="localhost_access_log" Suffix=".txt"
Muster="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>
</Engine>
</Dienst>

<!-- ERP bereitstellen -->
<Dienstname="CatalinaERP">

<Anschlussport="8082" Protokoll="HTTP/1.1"
VerbindungsTimeout="20000"
UmleitungsPort="8443" />

<Engine-Name="CatalinaERP" Standardhost="localhost">


<Realm-Klassenname="org.apache.catalina.realm.LockOutRealm">

<Realm-Klassenname="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="Benutzerdatenbank"/>
</Reich>

<Hostname="localhost" appBase="webappsERP"
unpackWARs="true" autoDeploy="true">

<Context path="/erp-manager-web" docBase="C:\Programme\Tomcat 8.5\webappsERP\erp-manager-web" debug="0" privileged="true"></Context>


<Valve-Klassenname="org.apache.catalina.valves.AccessLogValve" Verzeichnis="Protokolle"
Präfix="localhost_access_log" Suffix=".txt"
Muster="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>
</Engine>
</Dienst>
</Server>

Darunter stellt ein <service>-Knoten einen Dienst dar, also ein bereitgestelltes Projekt.

Das Namensattribut des <service>-Knotens wird in den Namen des entsprechenden Catalina-Ordners geändert. Das Namensattribut des Knotens <Engine> wird ebenfalls in den Namen des entsprechenden Catalina-Ordners geändert.

Das Portattribut des <Connector>-Knotens ist die Portnummer des Projekts. Achten Sie nur darauf, dass es nicht zu Konflikten kommt.

Die appBase-Eigenschaft des Knotens <Host> wird in den entsprechenden Webapps-Ordner geändert.

Das Pfadattribut des Knotens <Context> ist die für den Zugriff verwendete Adresse, d. h. die Zugriffsadresse des Projekts ist服務器ip:項目端口號/path屬性的值. Laut der aktuellen Konfiguration lautet die lokale Zugangsadresse meines MES-Projektes 127.0.0.1:8085/mes-manager-web . Das docBase-Attribut des <Context>-Knotens ist der lokale Pfad des War-Pakets des Projekts. Ändern Sie es einfach in den absoluten Pfad des War-Pakets auf dem lokalen Computer.

5. Ändern Sie startup.bat und shutdown.bat

Editieren Sie das Installationsverzeichnis\bin\startup.bat und fügen Sie am Anfang folgendes hinzu:

SET JAVA_HOME=C:\Programme\Java\jre1.8.0_181
SET TOMCAT_HOME=C:\Programme\Tomcat 8.5

Der erste ist der Installationsort von JRE und der zweite ist der Installationspfad von Tomcat.

Fügen Sie denselben Inhalt an derselben Stelle in shutdown.bat hinzu.

6 Doppelklicken Sie auf startup.bat, um Tomcat auszuführen

Beachten Sie, dass zu diesem Zeitpunkt ein DOS-Fenster geöffnet wird, das die Projektstartinformationen wie die IDEA-Konsole druckt. Wenn das Projekt erfolgreich gestartet wurde, schließen Sie dieses DOS-Fenster nicht, sondern lassen Sie es geöffnet. Wenn Sie Tomcat ausschalten, wird es nicht mehr ausgeführt.

7 Hinweise

Wenn mehrere Projekte das Spring-Framework verwenden, kann beim Konfigurieren eines Tomcat mit mehreren Ports und mehreren Anwendungen ein Fehler auftreten.

Lösung: Fügen Sie der web.xml jedes Projekts den folgenden Knoten hinzu:

<Kontext-Parameter>
<param-name>RootKey für Web-App</param-name>
<param-value>webapp.root</param-value>
</Kontext-Param>

Stellen Sie sicher, dass sich der <Param-Name> der Datei web.xml jedes Projekts vom <Param-Wert> unterscheidet, der dem webAppRootKey entspricht. Beispielsweise verwendet der erste webapp.root1, der zweite webapp.root2 und so weiter.

Achten Sie außerdem darauf, ob die Firewall des Servers einen externen Zugriff auf den zu konfigurierenden Port zulässt.

Dies ist das Ende dieses Artikels über die Schritte zum Bereitstellen mehrerer War-Pakete mit Tomcat. Weitere Informationen zum Bereitstellen mehrerer War-Pakete mit Tomcat 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:
  • Idee in einem War-Paket verpackt, auf Tomcat bereitgestellt und Probleme mit dem Zugriffspfad (Abbildung und Text)
  • Drei Möglichkeiten zum Bereitstellen von Webanwendungen im Tomcat-Stammverzeichnis
  • Lösung für das Problem, dass die SpringBoot-Anwendung beim Bereitstellen auf Tomcat nicht gestartet werden kann
  • Zusammenfassung von 4 Methoden zum Bereitstellen von Webanwendungen mit Tomcat (empfohlen)
  • Detaillierte Schritte zum Bereitstellen von Tomcat- und Java-Anwendungen in Docker
  • Über das Problem, dass die von Tomcat bereitgestellte Anwendung nicht auf die Front-End-Seite zugreifen kann

<<:  Implementierung der schnellen Projektkonstruktion von vue3.0+vant3.0

>>:  Detaillierte Analyse von or, in, union und Indexoptimierung in MySQL

Artikel empfehlen

Einführung in Sublime Text 2, ein Web-Frontend-Tool

Sublime Text 2 ist ein leichter, einfacher, effiz...

Optimierung von JavaScript und CSS zur Verbesserung der Website-Leistung

<br /> Im ersten und zweiten Teil haben wir ...

Das Konzept von MTR in MySQL

MTR steht für Mini-Transaktion. Wie der Name scho...

So autorisieren Sie Remoteverbindungen in MySQL unter Linux

Hinweis: Andere Maschinen (IP) können ohne Autori...

So verwenden Sie Axios, um Netzwerkanforderungen in React Native zu stellen

In der Front-End-Entwicklung gibt es viele Möglic...

Umfassende Website-Bewertungslösung

<br />Manchmal werden Ihnen möglicherweise F...

Detailliertes Tutorial zur Installation von MariaDB auf CentOS 8

Das Datenbankverwaltungssystem MariaDB ist ein Zw...

Die Kombination und der Unterschied zwischen ENTRYPOINT und CMD im Dockerfile

Im vorherigen Artikel [Detaillierte Erläuterung v...

Vue führt einen einfachen zufälligen Namensaufruf durch

Inhaltsverzeichnis Layoutteil: <div id="a...