it-swarm.com.de

Tomcat mehrere Instanzen gleichzeitig

Ich versuche, mehrere Instanzen von Tomcat auszuführen, aber nachdem ich die zweite Instanz zum Anhören und Herunterfahren der zweiten Instanz konfiguriert habe, versucht sie ständig, 8080 (für 8081 konfiguriert) zu überwachen. Ich habe gelesen, dass ich für CATALINA_BASE einen anderen Wert einstellen muss. Von allen Artikeln, die online verfügbar sind, zeigt keiner von ihnen, in welcher Datei diese Variable eingestellt werden kann.

Wo und wie kann ich CATALINA_BASE für meine Tomcat-Instanz in C:\Apache-Tomcat-7.0.39 einstellen?

24
Bruno Klein

Die einfachste Möglichkeit, zwei Kopien von Tomcat auszuführen, umfasste die folgenden Schritte (ich habe versucht, zwei verschiedene Versionen von Tomcat 6 und 7 auszuführen):

  • Legen Sie 2 Kopien von Tomcat in verschiedenen Ordnern an (wenn es sich um unterschiedliche Versionen handelt, ist dies einfach. Wenn sie dieselbe Version haben, müssen Sie sie auf andere Weise unterscheiden.) Es gibt eine Vielzahl von Dateien, die Tomcat erstellt, um das Programm so auszuführen zwei Instanzen mit demselben Arbeitsverzeichnis sind wahrscheinlich nicht möglich)

  • Ändern Sie die folgenden Ports, die Tomcat in server.xml hört.

    • <Connector port="8080"> <- Dies ist der Port, den Tomcat verwendet, um auf HTTP-Anforderungen zu antworten
    • <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <- Dies definiert zwei Ports, einen für den AJP-Connector (wird verwendet, wenn Sie Tomcat hinter einem Apache- oder IIS -Server) verwenden, und den für den HTTPS-Verkehr verwendeten Port
    • <Server port="8005" shutdown="SHUTDOWN"> <- Dies ist der Port, den Tomcat verwendet, um auf SHUTDOWN-Ereignisse zu reagieren

Wenn Sie dies als Windows-Dienst ausführen, müssen Sie für jede Instanz unterschiedliche Dienstnamen festlegen (dies ist während des Setups möglich, der Standard für Tomcat 7 ist Tomcat7). Sobald Tomcat ausgeführt wird, verwenden alle Konfigurationsfelder relative Pfade, sodass Sie nicht CATALINA_BASE berühren müssen.

31
Jason Sperske

Angenommen, Sie haben nur einen Tomcat-Ordner unter C:\Apache-Tomcat-7.0.39 und möchten zwei Instanzen davon ausführen.

Stellen Sie sicher, dass Sie CATALINA_HOME system/user variable gesetzt haben und auf C:\Apache-Tomcat-7.0.39 zeigen.

  1. Erstellen Sie einen Ordner C:\Instanz1. Kopieren Sie die Ordner conf , webapps und temp aus C:\Apache-Tomcat-7.0.39 und fügen Sie sie in C:\instance1 ein. Sie können Inhalte aus Webapps und temporären Ordnern unter Instanz1 löschen, berühren Sie jedoch nicht conf contents.

  2. Kopieren Sie nun> C:\Instanz1 einfügen und benennen Sie sie in Instanz2 um. Auf diese Weise haben beide Instanz1 und Instanz2 den gleichen Inhalt.

  3. Gehen Sie zu C:\Instanz2\Conf, bearbeiten Sie server.xml und ändern Sie die Nummer dieser Ports (die ich als XXXX gekennzeichnet habe):

    <Server port="XXXX" shutdown="SHUTDOWN">

    <Connector port="XXXX" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

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

  4. Stellen Sie das, was Sie möchten in instanz1\webapps und instanz2\webapps bereit

  5. Erstellen Sie die folgenden 4 Batchdateien unter C: \

instance1_startup.bat

@echo aus

set CATALINA_BASE = C:\Instanz1

cd "% CATALINA_HOME%\bin"

set TITLE = Meine Tomcat-Instanz 01

rufen Sie startup.bat% TITLE% auf.

instance1_shutdown.bat

@echo aus

set CATALINA_BASE = C:\Instanz1

cd "% CATALINA_HOME%\bin"

rufen Sie shutdown.bat auf

instance2_startup.bat

@echo aus

set CATALINA_BASE = C:\Instanz2

cd "% CATALINA_HOME%\bin"

set TITLE = Meine Tomcat-Instanz 02

rufen Sie startup.bat% TITLE% auf.

instance2_shutdown.bat

@echo aus

set CATALINA_BASE = C:\Instanz2

cd "% CATALINA_HOME%\bin"

rufen Sie shutdown.bat auf

  1. Starten Sie instance1_startup.bat und instance2_startup.bat .
46
Goran Vasic

Wenn Sie Tomcat nicht für mehrere Instanzen konfiguriert haben, indem Sie ein CATALINA_BASE-Verzeichnis festgelegt haben, wird $ CATALINA_BASE auf den Wert von $ CATALINA_HOME gesetzt, dem Verzeichnis, in dem Sie Tomcat installiert haben.

1
Alpesh Gediya

Der einfachste Weg ist, einen anderen Tomcat 8 oder 9 herunterzuladen und während der Installation zu installieren, ändern Sie alle Portnummern. Das Kopieren der vorhandenen Instanz und das Ändern der Portnummer in server.xml kann zu Fehlern bei Diensten führen.

0