Tomcat installation per tarball (Ubuntu 18.04): Unterschied zwischen den Versionen
(81 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Allgemein == | |||
=== CATALINA_HOME_vs._CATALINA_BASE === | |||
* CATALINA_HOME = Verzeichnis, wo die Binärdateien liegen | |||
* CATALINA_BASE = Verzeichnis, wo die Instanz-spezifischen Dateien (z.B. Konfigurationsdateien) liegen (bei einer Instanz können beide Variablen gleich sein) | |||
==== Links ==== | |||
[https://tomcat.apache.org/tomcat-10.0-doc/introduction.html#CATALINA_HOME_and_CATALINA_BASE https://tomcat.apache.org/tomcat-10.0-doc/introduction.html#CATALINA_HOME_and_CATALINA_BASE] | |||
== Voraussetzungen == | == Voraussetzungen == | ||
Zeile 48: | Zeile 56: | ||
=== Umgebungsvariablen setzen === | === Umgebungsvariablen setzen === | ||
Dazu eine Datei ''/etc/tomcat10.conf'' erstellen: | Dazu eine Datei ''/etc/tomcat10.conf'' erstellen: | ||
Zeile 69: | Zeile 74: | ||
# Set the TOMCAT_PID location | # Set the TOMCAT_PID location | ||
CATALINA_PID=" | CATALINA_PID="/tmp/tomcat10.pid" | ||
# What user should run tomcat | # What user should run tomcat | ||
Zeile 118: | Zeile 123: | ||
=== Admin-GUI's für alle Addressen erlauben === | === Admin-GUI's für alle Addressen erlauben === | ||
''${CATALINA_HOME}/webapps/manager/META-INF/context.xml:'' | ''${CATALINA_HOME}/webapps/manager/META-INF/context.xml:'' | ||
Zeile 162: | Zeile 163: | ||
wie vorher ebenfalls <code>Valve</code> auskommentieren. | wie vorher ebenfalls <code>Valve</code> auskommentieren. | ||
==== In ''${ | === ''scanManifest'' deaktivieren === | ||
In der Datei | |||
<pre> | |||
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/conf/context.xml | |||
</pre> | |||
folgenden Eintrag | |||
<pre> | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<Context> | |||
... | |||
<JarScanner scanManifest="false"/> | |||
... | |||
</Context> | |||
</pre> | |||
hinzufügen, um das Scannen von Manifest-Dateien zu deaktivieren. | |||
=== Als Service mit ''systemctl'' === | |||
<pre> | |||
sudo vi /etc/systemd/system/tomcat10.service | |||
</pre> | |||
<pre> | |||
[Unit] | |||
Description=Tomcat10 | |||
After=network.target | |||
[Service] | |||
Type=forking | |||
User=tomcat | |||
Group=tomcat | |||
Environment=TOMCAT_CFG=/opt/tomcat/tomcat10_0_0/tomcat10/conf/tomcat10.conf | |||
Environment=CATALINA_PID=/tmp/tomcat10.pid | |||
Environment=TOMCAT_JAVA_HOME=/usr/bin/java | |||
Environment=CATALINA_HOME=/opt/tomcat/tomcat10_0_0/tomcat10 | |||
Environment=CATALINA_BASE=/opt/tomcat/tomcat10_0_0/tomcat10 | |||
Environment=CATALINA_OPTS= | |||
Environment="JAVA_OPTS=-Dfile.encoding=UTF-8 -Dnet.sf.ehcache.skipUpdateCheck=true -XX:+CMSClassUnloadingEnabled -Xms512m -Xmx512m" | |||
ExecStart=/opt/tomcat/tomcat10_0_0/tomcat10/bin/startup.sh | |||
ExecStop=/opt/tomcat/tomcat10_0_0/tomcat10/bin/shutdown.sh | |||
[Install] | |||
WantedBy=multi-user.target | |||
</pre> | |||
<pre> | |||
sudo systemctl daemon-reload | |||
sudo systemctl start tomcat10.service | |||
sudo systemctl enable tomcat10.service | |||
</pre> | |||
== Mehrere Tomcat-Instanzen parallel == | |||
Für jede weitere Instanz ein weiteres Verzeichnis (''CATALINA_BASE'') anlegen. Das Unterverzeichnise ''webapps'' wird komplett und ''conf'' nur teilweise kopiert. Anstelle des Unterverzeichnisses ''bin'' wird ein symbolischer Link zu ''CATALINA_HOME/bin'' gesetzt. | |||
<pre> | |||
cd /opt/tomcat/tomcat10_0_0/ | |||
sudo chmod a+x tomcat10/conf/ | |||
sudo -u tomcat mkdir -p tomcat10_1/conf/ | |||
sudo cp /etc/tomcat10.conf tomcat10_1/conf/tomcat10_1.conf | |||
sudo -u tomcat cp -r tomcat10/webapps/ tomcat10_1/webapps/ | |||
sudo -u tomcat cp tomcat10/bin/startup.sh tomcat10_1/startup.sh | |||
sudo -u tomcat cp tomcat10/bin/shutdown.sh tomcat10_1/shutdown.sh | |||
sudo -u tomcat mkdir tomcat10_1/logs/ | |||
sudo -u tomcat mkdir tomcat10_1/temp/ | |||
sudo -u tomcat mkdir tomcat10_1/work/ | |||
cd tomcat10_1 | |||
sudo -u tomcat ln -s ../tomcat10/lib lib | |||
sudo -u tomcat ln -s ../tomcat10/bin bin | |||
cd conf | |||
sudo rm tomcat-users.* | |||
sudo -u tomcat ln -s ../../tomcat10/conf/tomcat-users.xml tomcat-users.xml | |||
sudo -u tomcat ln -s ../../tomcat10/conf/tomcat-users.xsd tomcat-users.xsd | |||
sudo chown -R tomcat:tomcat /opt/tomcat/tomcat10_0_0/tomcat10_1/ | |||
sudo chmod -R 755 /opt/tomcat/tomcat10_0_0/tomcat10_1/ | |||
</pre> | |||
Dieser Vorgang wird für jede weitere Instanz wiederholt: | |||
<pre> | |||
cd /opt/tomcat/tomcat10_0_0/ | |||
sudo mkdir -p tomcat10_<instance>/conf/ | |||
sudo cp /etc/tomcat10.conf tomcat10_<instance>/conf/tomcat10_<instance>.conf | |||
sudo cp -r tomcat10/webapps/ tomcat10_<instance>/webapps/ | |||
sudo cp tomcat10/bin/startup.sh tomcat10_<instance>/startup.sh | |||
sudo cp tomcat10/bin/shutdown.sh tomcat10_<instance>/shutdown.sh | |||
sudo mkdir tomcat10_<instance>/logs/ | |||
sudo mkdir tomcat10_<instance>/temp/ | |||
sudo mkdir tomcat10_<instance>/work/ | |||
cd tomcat10_<instance> | |||
sudo ln -s ../tomcat10/lib lib | |||
sudo ln -s ../tomcat10/bin bin | |||
cd conf | |||
sudo rm tomcat-users.* | |||
sudo ln -s ../../tomcat10/conf/tomcat-users.xml tomcat-users.xml | |||
sudo ln -s ../../tomcat10/conf/tomcat-users.xsd tomcat-users.xsd | |||
sudo chown -R tomcat:tomcat /opt/tomcat/tomcat10_0_0/tomcat10_<instance>/ | |||
sudo chmod -R 755 /opt/tomcat/tomcat10_0_0/tomcat10_<instance>/ | |||
</pre> | |||
=== ''$CATALINA_BASE/tomcat10_1/conf/'' === | |||
<pre> | |||
sudo su | |||
cd /opt/tomcat/tomcat10_0_0/tomcat10_1/conf | |||
for i in `ls ../../tomcat10/conf/`; do sudo -u tomcat ln -s ../../tomcat10/conf/$i $i; done | |||
rm server.xml | |||
cp ../../tomcat10/conf/server.xml . | |||
rm Catalina | |||
sudo -u tomcat mkdir -p Catalina/localhost/ | |||
cd Catalina/localhost/ | |||
sudo -u tomcat ln -s ../../../../tomcat10/conf/Catalina/localhost/host-manager.xml host-manager.xml | |||
sudo -u tomcat ln -s ../../../../tomcat10/conf/Catalina/localhost/manager.xml manager.xml | |||
exit | |||
</pre> | |||
=== ''$CATALINA_BASE/startup.sh'' === | |||
{{note|Pfad des startup.sh-Skripts ist ''tomcat10_<instance>/'' anstelle von ''tomcat10_<instance>/bin/'' !}} | |||
Danach in der Datei | |||
<pre> | |||
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10_1/startup.sh | |||
</pre> | |||
nach den Zeilen | |||
<pre> | |||
# resolve links - $0 may be a softlink | |||
PRG="$0" | |||
while [ -h "$PRG" ] ; do | |||
ls=`ls -ld "$PRG"` | |||
link=`expr "$ls" : '.*-> \(.*\)$'` | |||
if expr "$link" : '/.*' > /dev/null; then | |||
PRG="$link" | |||
else | |||
PRG=`dirname "$PRG"`/"$link" | |||
fi | |||
done | |||
</pre> | |||
folgende Zeilen hinzufügen bzw. anpassen: | |||
<pre> | |||
# use this for environment specific settings | |||
export TOMCAT_CFG=`dirname "$PRG"`/"conf/tomcat10_1.conf" | |||
PRGDIR=`dirname "$PRG"`/"../tomcat10/bin" | |||
</pre> | |||
=== ''$CATALINA_BASE/shutdown.sh'' === | |||
'' | {{note|Pfad des shutdown.sh-Skripts ist ''tomcat10_<instance>/'' anstelle von ''tomcat10_<instance>/bin/'' !}} | ||
Dasselbe wie in der Datei <code>$CATALINA_HOME/startup.sh</code> auch in der Datei | |||
<pre> | <pre> | ||
sudo vi /opt/tomcat/tomcat10_0_0/ | sudo vi /opt/tomcat/tomcat10_0_0/tomcat10_1/shutdown.sh | ||
</pre> | </pre> | ||
durchführen. | |||
=== ''$CATALINA_BASE/conf/server.xml'' === | |||
Alle Instanzen müssen unterschiedliche Ports verwenden. Die verwendeten Ports werden in der Datei ''$CATALINA_BASE/conf/server.xml'' geändert: | |||
<pre> | <pre> | ||
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10_1/conf/server.xml | |||
</pre> | </pre> | ||
Die Standard-Ports sind in der folgenden Tabelle aufgelistet: | |||
{| class="wikitable" | |||
|- | |||
!Port | |||
!Beschreibung | |||
|- | |||
| 8005 | |||
| Shutdown Port | |||
|- | |||
| 8080 | |||
| Connector Port | |||
|- | |||
| 8443 | |||
| Redirect Port | |||
|- | |||
| 8009 | |||
| AJP Connector Port | |||
|} | |||
Ein Möglichkeit ist, die führende '''8''' bei allen Ports jeweils erhöhen oder erniedrigen. Aus ''8005'' wird dann z.B. ''9005''. | |||
=== $CATALINA_BASE/conf/tomcat10_<instance> === | |||
In den Konfigurations-Dateien ''tomcat10'' durch ''tomcat10_<instance>'' (ausgenommen ''CATALINA_HOME'' und ''JASPER_HOME'') ersetzen | |||
<pre> | |||
# Where your java installation lives | |||
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-armhf" | |||
# Where your tomcat installation lives | |||
CATALINA_BASE="/opt/tomcat/tomcat10_0_0/tomcat10_<instance>" | |||
CATALINA_HOME="/opt/tomcat/tomcat10_0_0/tomcat10 | |||
JASPER_HOME="/opt/tomcat/tomcat10_0_0/tomcat10" | |||
CATALINA_TMPDIR="/opt/tomcat/tomcat10_0_10/tomcat10_<instance>/temp" | |||
# Set the TOMCAT_PID location | |||
CATALINA_PID="/tmp/tomcat10_<instance>.pid" | |||
# What user should run tomcat | |||
TOMCAT_USER="tomcat" | |||
</pre> | |||
=== /etc/systemd/system/tomcat10_<instance>.service === | |||
{{note|Pfad der startup.sh/shutdown.sh-Skripte ist ''tomcat10_<instance>/'' anstelle von ''tomcat10_<instance>/bin/'' !}} | |||
<pre> | <pre> | ||
cd /etc/systemd/system/ | |||
sudo cp tomcat10.service tomcat10_<instance>.service | |||
</pre> | </pre> | ||
{{note|Hinweis: ''CATALINA_HOME'' auf /opt/tomcat/tomcat10_0_0/tomcat10 belassen}} | |||
Danach in der Datei | |||
<pre> | <pre> | ||
sudo vi /etc/systemd/system/tomcat10_<instance>.service | |||
< | |||
</pre> | </pre> | ||
=== | alle Pfade entsprechend anpassen. | ||
== Log-Rotate == | |||
=== Links === | |||
[https://www.jfrog.com/confluence/display/JFROG/Configuring+Log+Rotation+for+Tomcat https://www.jfrog.com/confluence/display/JFROG/Configuring+Log+Rotation+for+Tomcat] | |||
== Load Balancer == | |||
[[Load Balancer mit mod_jk (Linux)]] | |||
== Eclipse == | |||
[[Tomcat und Eclipse (Linux)|Tomcat und Eclipse]] | |||
== Probleme == | |||
[ | === WARNUNG [main] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file: ... ] from classloader hierarchy === | ||
''scanManifest'' ist standardmäßig auf ''true'' gesetzt und sollte deaktiviert werden: [[Tomcat installation per tarball (Ubuntu 18.04)#scanManifest_deaktivieren|scanManifest deaktivieren]] | |||
Zurück zu [[Tomcat installation per tarball (unterschiedliche Versionen)#Ubuntu Versionen|Tomcat (tarball)]] | Zurück zu [[Tomcat installation per tarball (unterschiedliche Versionen)#Ubuntu Versionen|Tomcat (tarball)]] |
Aktuelle Version vom 5. Juli 2022, 08:49 Uhr
Allgemein
CATALINA_HOME_vs._CATALINA_BASE
- CATALINA_HOME = Verzeichnis, wo die Binärdateien liegen
- CATALINA_BASE = Verzeichnis, wo die Instanz-spezifischen Dateien (z.B. Konfigurationsdateien) liegen (bei einer Instanz können beide Variablen gleich sein)
Links
https://tomcat.apache.org/tomcat-10.0-doc/introduction.html#CATALINA_HOME_and_CATALINA_BASE
Voraussetzungen
Java siehe Java (Ubuntu)
Benutzer anlegen
sudo addgroup --system --no-create-home --disabled-login --group tomcat sudo adduser --system --no-create-home --disabled-login --ingroup tomcat tomcat
Alternativ mit fixer UID:
sudo addgroup --system --no-create-home --disabled-login --uid 128 --group tomcat sudo adduser --system --no-create-home --disabled-login --uid 128 --ingroup tomcat tomcat
Download
Verfügbare Versionen siehe http://www.eu.apache.org/dist/tomcat/
wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.0/bin/apache-tomcat-10.0.0.tar.gz tar -xzf apache-tomcat-10.0.0.tar.gz
Installationsverzeichnis anlegen:
sudo mkdir -p /opt/tomcat/tomcat10_0_0/
Entpacktes Tomcat-Verzeichnis verschieben und Besitzer setzen:
sudo mv apache-tomcat-10.0.0 /opt/tomcat/tomcat10_0_0/tomcat10 sudo chown -R tomcat:tomcat /opt/tomcat/tomcat10_0_0/
Installation
Einen symbolischen Link auf das Verzeichnis mit der Version für Tomcat 10 anlegen (falls mehrere Versionen installiert sind):
cd /opt/tomcat/ sudo ln -s /opt/tomcat/tomcat10_0_0 tomcat10
Umgebungsvariablen setzen
Dazu eine Datei /etc/tomcat10.conf erstellen:
sudo vi /etc/tomcat10.conf
Diese Datei mit folgenden Inhalt befüllen:
# Where your java installation lives JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-armhf" # Where your tomcat installation lives CATALINA_BASE="/opt/tomcat/tomcat10_0_0/tomcat10" CATALINA_HOME="/opt/tomcat/tomcat10_0_0/tomcat10" JASPER_HOME="/opt/tomcat/tomcat10_0_0/tomcat10" CATALINA_TMPDIR="/opt/tomcat/tomcat10_0_10/tomcat10/temp" # Set the TOMCAT_PID location CATALINA_PID="/tmp/tomcat10.pid" # What user should run tomcat TOMCAT_USER="tomcat"
In der Datei /opt/tomcat/tomcat10_0_0/tomcat10/bin/catalina.sh die Variablenkonfiguration einfügen:
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/bin/catalina.sh
... # Ensure that any user defined CLASSPATH variables are not used on startup, # but allow them to be specified in setenv.sh, in rare case when it is needed. CLASSPATH= # Get the tomcat config (use this for environment specific settings) if [ -z "${TOMCAT_CFG}" ]; then TOMCAT_CFG="/etc/tomcat10.conf" fi if [ -r "$TOMCAT_CFG" ]; then . $TOMCAT_CFG fi if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then . "$CATALINA_BASE/bin/setenv.sh" ...
Konfiguration
Tomcat Benutzer anlegen
Dazu in der Datei $CATALINA_HOME/conf/tomcat-users.xml folgende Zeilen zwischen <tomcat-users> und </tomcat-users> einfügen:
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/conf/tomcat-users.xml
<role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="tomcat" password="tomcat" roles="admin-gui,manager-gui"/>
Admin-GUI's für alle Addressen erlauben
${CATALINA_HOME}/webapps/manager/META-INF/context.xml:
Dazu die Datei
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/webapps/manager/META-INF/context.xml
bearbeiten und folgende Zeile auskommentieren:
<?xml version="1.0" encoding="UTF-8"?> ... <Context antiResourceLocking="false" privileged="true" > ... <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> ... </Context>
${CATALINA_HOME}/webapps/host-manager/META-INF/context.xml:
Weiters in der Datei
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/webapps/host-manager/META-INF/context.xml
wie vorher ebenfalls Valve
auskommentieren.
scanManifest deaktivieren
In der Datei
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/conf/context.xml
folgenden Eintrag
<?xml version="1.0" encoding="UTF-8"?> <Context> ... <JarScanner scanManifest="false"/> ... </Context>
hinzufügen, um das Scannen von Manifest-Dateien zu deaktivieren.
Als Service mit systemctl
sudo vi /etc/systemd/system/tomcat10.service
[Unit] Description=Tomcat10 After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment=TOMCAT_CFG=/opt/tomcat/tomcat10_0_0/tomcat10/conf/tomcat10.conf Environment=CATALINA_PID=/tmp/tomcat10.pid Environment=TOMCAT_JAVA_HOME=/usr/bin/java Environment=CATALINA_HOME=/opt/tomcat/tomcat10_0_0/tomcat10 Environment=CATALINA_BASE=/opt/tomcat/tomcat10_0_0/tomcat10 Environment=CATALINA_OPTS= Environment="JAVA_OPTS=-Dfile.encoding=UTF-8 -Dnet.sf.ehcache.skipUpdateCheck=true -XX:+CMSClassUnloadingEnabled -Xms512m -Xmx512m" ExecStart=/opt/tomcat/tomcat10_0_0/tomcat10/bin/startup.sh ExecStop=/opt/tomcat/tomcat10_0_0/tomcat10/bin/shutdown.sh [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload sudo systemctl start tomcat10.service sudo systemctl enable tomcat10.service
Mehrere Tomcat-Instanzen parallel
Für jede weitere Instanz ein weiteres Verzeichnis (CATALINA_BASE) anlegen. Das Unterverzeichnise webapps wird komplett und conf nur teilweise kopiert. Anstelle des Unterverzeichnisses bin wird ein symbolischer Link zu CATALINA_HOME/bin gesetzt.
cd /opt/tomcat/tomcat10_0_0/ sudo chmod a+x tomcat10/conf/ sudo -u tomcat mkdir -p tomcat10_1/conf/ sudo cp /etc/tomcat10.conf tomcat10_1/conf/tomcat10_1.conf sudo -u tomcat cp -r tomcat10/webapps/ tomcat10_1/webapps/ sudo -u tomcat cp tomcat10/bin/startup.sh tomcat10_1/startup.sh sudo -u tomcat cp tomcat10/bin/shutdown.sh tomcat10_1/shutdown.sh sudo -u tomcat mkdir tomcat10_1/logs/ sudo -u tomcat mkdir tomcat10_1/temp/ sudo -u tomcat mkdir tomcat10_1/work/ cd tomcat10_1 sudo -u tomcat ln -s ../tomcat10/lib lib sudo -u tomcat ln -s ../tomcat10/bin bin cd conf sudo rm tomcat-users.* sudo -u tomcat ln -s ../../tomcat10/conf/tomcat-users.xml tomcat-users.xml sudo -u tomcat ln -s ../../tomcat10/conf/tomcat-users.xsd tomcat-users.xsd sudo chown -R tomcat:tomcat /opt/tomcat/tomcat10_0_0/tomcat10_1/ sudo chmod -R 755 /opt/tomcat/tomcat10_0_0/tomcat10_1/
Dieser Vorgang wird für jede weitere Instanz wiederholt:
cd /opt/tomcat/tomcat10_0_0/ sudo mkdir -p tomcat10_<instance>/conf/ sudo cp /etc/tomcat10.conf tomcat10_<instance>/conf/tomcat10_<instance>.conf sudo cp -r tomcat10/webapps/ tomcat10_<instance>/webapps/ sudo cp tomcat10/bin/startup.sh tomcat10_<instance>/startup.sh sudo cp tomcat10/bin/shutdown.sh tomcat10_<instance>/shutdown.sh sudo mkdir tomcat10_<instance>/logs/ sudo mkdir tomcat10_<instance>/temp/ sudo mkdir tomcat10_<instance>/work/ cd tomcat10_<instance> sudo ln -s ../tomcat10/lib lib sudo ln -s ../tomcat10/bin bin cd conf sudo rm tomcat-users.* sudo ln -s ../../tomcat10/conf/tomcat-users.xml tomcat-users.xml sudo ln -s ../../tomcat10/conf/tomcat-users.xsd tomcat-users.xsd sudo chown -R tomcat:tomcat /opt/tomcat/tomcat10_0_0/tomcat10_<instance>/ sudo chmod -R 755 /opt/tomcat/tomcat10_0_0/tomcat10_<instance>/
$CATALINA_BASE/tomcat10_1/conf/
sudo su cd /opt/tomcat/tomcat10_0_0/tomcat10_1/conf for i in `ls ../../tomcat10/conf/`; do sudo -u tomcat ln -s ../../tomcat10/conf/$i $i; done rm server.xml cp ../../tomcat10/conf/server.xml . rm Catalina sudo -u tomcat mkdir -p Catalina/localhost/ cd Catalina/localhost/ sudo -u tomcat ln -s ../../../../tomcat10/conf/Catalina/localhost/host-manager.xml host-manager.xml sudo -u tomcat ln -s ../../../../tomcat10/conf/Catalina/localhost/manager.xml manager.xml exit
$CATALINA_BASE/startup.sh
Pfad des startup.sh-Skripts ist tomcat10_<instance>/ anstelle von tomcat10_<instance>/bin/ !
Danach in der Datei
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10_1/startup.sh
nach den Zeilen
# resolve links - $0 may be a softlink PRG="$0" while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "$PRG"`/"$link" fi done
folgende Zeilen hinzufügen bzw. anpassen:
# use this for environment specific settings export TOMCAT_CFG=`dirname "$PRG"`/"conf/tomcat10_1.conf" PRGDIR=`dirname "$PRG"`/"../tomcat10/bin"
$CATALINA_BASE/shutdown.sh
Pfad des shutdown.sh-Skripts ist tomcat10_<instance>/ anstelle von tomcat10_<instance>/bin/ !
Dasselbe wie in der Datei $CATALINA_HOME/startup.sh
auch in der Datei
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10_1/shutdown.sh
durchführen.
$CATALINA_BASE/conf/server.xml
Alle Instanzen müssen unterschiedliche Ports verwenden. Die verwendeten Ports werden in der Datei $CATALINA_BASE/conf/server.xml geändert:
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10_1/conf/server.xml
Die Standard-Ports sind in der folgenden Tabelle aufgelistet:
Port | Beschreibung |
---|---|
8005 | Shutdown Port |
8080 | Connector Port |
8443 | Redirect Port |
8009 | AJP Connector Port |
Ein Möglichkeit ist, die führende 8 bei allen Ports jeweils erhöhen oder erniedrigen. Aus 8005 wird dann z.B. 9005.
$CATALINA_BASE/conf/tomcat10_<instance>
In den Konfigurations-Dateien tomcat10 durch tomcat10_<instance> (ausgenommen CATALINA_HOME und JASPER_HOME) ersetzen
# Where your java installation lives JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-armhf" # Where your tomcat installation lives CATALINA_BASE="/opt/tomcat/tomcat10_0_0/tomcat10_<instance>" CATALINA_HOME="/opt/tomcat/tomcat10_0_0/tomcat10 JASPER_HOME="/opt/tomcat/tomcat10_0_0/tomcat10" CATALINA_TMPDIR="/opt/tomcat/tomcat10_0_10/tomcat10_<instance>/temp" # Set the TOMCAT_PID location CATALINA_PID="/tmp/tomcat10_<instance>.pid" # What user should run tomcat TOMCAT_USER="tomcat"
/etc/systemd/system/tomcat10_<instance>.service
Pfad der startup.sh/shutdown.sh-Skripte ist tomcat10_<instance>/ anstelle von tomcat10_<instance>/bin/ !
cd /etc/systemd/system/ sudo cp tomcat10.service tomcat10_<instance>.service
Hinweis: CATALINA_HOME auf /opt/tomcat/tomcat10_0_0/tomcat10 belassen
Danach in der Datei
sudo vi /etc/systemd/system/tomcat10_<instance>.service
alle Pfade entsprechend anpassen.
Log-Rotate
Links
https://www.jfrog.com/confluence/display/JFROG/Configuring+Log+Rotation+for+Tomcat
Load Balancer
Load Balancer mit mod_jk (Linux)
Eclipse
Probleme
WARNUNG [main] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file: ... ] from classloader hierarchy
scanManifest ist standardmäßig auf true gesetzt und sollte deaktiviert werden: scanManifest deaktivieren
Zurück zu Tomcat (tarball)