Terima kasih @MichaelHampton untuk artikel bagusnya:https://jdebp.eu/FGA/systemd-house-of-horror/Tomcat.html
Ini menjelaskan kemungkinan masalah dengan instalasi tipikal yang disarankan dalam tutorial yang saya baca (dan banyak sekali copy-paste lainnya). Saya tidak tahu mengapa masalah itu muncul. Mungkin ini adalah masalah dengan semua lapisan yang diperkenalkan oleh catalina.sh, startup.sh, dll.
Jadi pada dasarnya, saya menulis ulang skrip konfigurasi systemd dan mulai berfungsi.
Saya memiliki masalah yang sama persis. Hanya saya yang menggunakan Amazon Lightsail. Mungkin ada masalah dengan cara Amazon mengonfigurasi mesin Ubuntu mereka, dan cara yang dijelaskan untuk membuat Layanan Tomcat. Saya menggunakan cara yang dijelaskan pada mesin Ubuntu lokal yang saya atur sendiri dan berfungsi dengan baik.
Saya membaca artikel oleh @michael-hampton dan menggunakan pendekatan yang dijelaskan di sana. Saya seorang noob Linux, dan saya menemukan bahwa saya memiliki beberapa masalah untuk membuatnya berfungsi. Saya menyertakan file yang saya dapatkan di sini, jadi mungkin pemula Linux lain yang memiliki masalah ini dapat memulai dengan lebih mudah. Instalasi Tomcat saya ada di /opt/Tomcat dan ini adalah file yang saya dapatkan:
/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