Díky @MichaelHampton za dobrý článek:https://jdebp.eu/FGA/systemd-house-of-horror/tomcat.html
Vysvětluje možné problémy s typickou instalací navrženou v tutoriálu, který jsem četl (a spoustě dalších zkopírovaných). Nemohl jsem přijít na to, proč problém vzniká. Možná je to problém se všemi vrstvami zavedenými catalina.sh, startup.sh atd.
V podstatě jsem tedy přepsal konfigurační skript systemd a začalo to fungovat.
Měl jsem úplně stejný problém. Pouze já jsem používal Amazon Lightsail. Možná je problém se způsobem, jakým Amazon konfiguruje své stroje Ubuntu, a popsaným způsobem vytvoření služby Tomcat. Použil jsem popsaný způsob na místním počítači Ubuntu, který jsem si sám nastavil a který fungoval dobře.
Přečetl jsem si článek od @michael-hampton a použil jsem tam popsaný přístup. Jsem linuxový noob a zjistil jsem, že mám nějaké problémy s tím, aby to fungovalo. Zahrnuji sem soubory, se kterými jsem skončil, takže možná ostatní Linuxoví noobové, kteří mají tento problém, mohou začít snadněji. Moje instalace Tomcat je na /opt/tomcat a skončil jsem se soubory:
/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