Danke @MichaelHampton für den guten Artikel:https://jdebp.eu/FGA/systemd-house-of-horror/tomcat.html
Es erklärt die möglichen Probleme mit einer typischen Installation, die in dem von mir gelesenen Tutorial (und unzähligen anderen kopierten) vorgeschlagen wird. Ich konnte nicht herausfinden, warum das Problem auftritt. Vielleicht ist es das Problem mit all den Schichten, die durch catalina.sh, startup.sh usw. eingeführt wurden.
Also im Grunde habe ich das systemd-Konfigurationsskript umgeschrieben und es fing an zu arbeiten.
Ich hatte genau das gleiche Problem. Nur ich habe Amazon Lightsail verwendet. Möglicherweise gibt es ein Problem mit der Art und Weise, wie Amazon seine Ubuntu-Maschinen konfiguriert, und mit der beschriebenen Methode zum Erstellen eines Tomcat-Dienstes. Ich habe den beschriebenen Weg auf einem lokalen Ubuntu-Rechner verwendet, den ich selbst eingerichtet habe, und das hat gut funktioniert.
Ich habe den Artikel von @michael-hampton gelesen und den dort beschriebenen Ansatz verwendet. Ich bin ein Linux-Noob und habe festgestellt, dass ich einige Probleme hatte, es zum Laufen zu bringen. Ich füge die Dateien, mit denen ich gelandet bin, hier hinzu, damit vielleicht andere Linux-Noobs, die dieses Problem haben, einen einfacheren Start haben. Meine Tomcat-Installation befindet sich unter /opt/tomcat und dies sind die Dateien, die ich erhalten habe:
/etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
User=tomcat
Group=tomcat
UMask=0007
EnvironmentFile=/etc/default/tomcat
ExecStart=/usr/bin/env ${JAVA_HOME}/bin/java \
$JAVA_OPTS $CATALINA_OPTS \
-classpath ${CLASSPATH} \
-Dcatalina.base=${CATALINA_BASE} \
-Dcatalina.home=${CATALINA_HOME} \
-Djava.endorsed.dirs=${JAVA_ENDORSED_DIRS} \
-Djava.io.tmpdir=${CATALINA_TMPDIR} \
-Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties \
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
org.apache.catalina.startup.Bootstrap \
start
ExecStop=/usr/bin/env ${JAVA_HOME}/bin/java \
$JAVA_OPTS $CATALINA_OPTS \
-classpath ${CLASSPATH} \
-Dcatalina.base=${CATALINA_BASE} \
-Dcatalina.home=${CATALINA_HOME} \
-Djava.endorsed.dirs=${JAVA_ENDORSED_DIRS} \
-Djava.io.tmpdir=${CATALINA_TMPDIR} \
-Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties \
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
org.apache.catalina.startup.Bootstrap \
stop
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
/etc/default/tomcat
CATALINA_HOME=/opt/tomcat
CATALINA_BASE=/opt/tomcat
CATALINA_TMPDIR=/opt/tomcat/temp
CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC
JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom
JAVA_ENDORSED_DIRS=/opt/tomcat/endorsed
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
CLASSPATH=/opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar