Tomcat 6 mehrfach auf einem Server betreiben

14. September 2008 von Jan in Java
Schlagwörter:, , , ,

Diese Beitrag gibt einen Aspekt der Tomcat-Installation wieder, wie er von Peter Roßbach auf der Berlin.ja empfohlen wurde.

Hintergrund: Die Nutzung einer Tomcat-Instanz pro Anwendung hat den Vorteil, dass die zentralen Ressourcen und Konfigurationen optimal für die Anwendung einzustellen kann. Ressourcenprobleme einer Webapp können so keine weitere Webapp betreffen.

Die Nutzung von mehreren Tomcat-Instanzen führt aber nicht zu einer mehrfachen Ablage der immer gleichen Tomcat-Bibliotheken. Der Tomcat bietet eine sehr elegante Möglichkeit der Trennung von Tomcat-Kernkomponenten und anwendungsspezifischen Teile.

Der Tomcat referenziert die Kernkomponenten ausschliesslich über die Variable “CATALINA_HOME” und die Konfigurationsdaten, temporären Dateien und Webapps über die Variable “CATALINA_BASE”.

Um nun ein neue Tomcat-Instanz zu erstellen legt man am besten neben der ursprünglichen Tomcat-Installation ein weiteres Verzeichnis an z.B. /opt/tomcat-node0 neben /opt/apache-tomcat-6.0.18. In dem neuen node0 Verzeichnis werden die Verzeichnisse conf, temp, webapps, work angelegt.

In conf liegt die Tomcat-Konfiguration. Hier alle Dateien aus der orginalen Installation hinein kopieren. Dann legen wir noch ein Verzeichnis bin an und erstellen dort Start- und Stop-Script. Hier sind ein paar lauffähige Beispiele: startup.sh und shutdown.sh

Im Verzeichnis conf muss nun die server.xml angepasst werden. Die Ports dürfen nicht identisch bleiben mit dem orignalen Tomcat (sofern dieser selbst gestartet werden soll). Hier muss man sich ein Schema überlegen, wie man systematisch die Ports verändert (erleichtert den Überblick, wenn man die Nummer der Tomcat-Instanz und die originalen Portnummern zum neuen Ports kombinieren kann.

Der neue Tomcat 6 ist im Vergleich zu der Version 5 oder gar 4 wesentlich leichtgewichtiger und übersichtlicher strukturiert, so dass es sich wirklich anbietet die Trennung der Anwendungen noch radikaler zu betreiben.

Title: startup.sh
File: startup.sh
Title: shutdown.sh
File: shutdown.sh
Title: server.xml
File: server.xml
  • Kommentare deaktiviert

Comments are closed.