良い記事をありがとう @MichaelHampton:https://jdebp.eu/FGA/systemd-house-of-horror/tomcat.html
私が読んだチュートリアル(および他の多くのコピーペーストされたもの)で提案された典型的なインストールで起こりうる問題について説明します。問題が発生する理由がわかりませんでした。おそらく、catalina.sh、startup.sh などによって導入されたすべてのレイヤーの問題です。
したがって、基本的に、systemd構成スクリプトを書き直したところ、機能し始めました。
私はまったく同じ問題を抱えていました。私だけが Amazon Lightsail を使用していました。 Amazon が Ubuntu マシンを構成する方法と、説明されている Tomcat サービスを作成する方法に問題がある可能性があります。私は自分でセットアップしたローカル Ubuntu マシンで上記の方法を使用しましたが、問題なく動作しました。
@michael-hampton の記事を読み、そこで説明されているアプローチを使用しました。私は Linux 初心者ですが、Linux を動作させるのに問題があることがわかりました。最終的にここにファイルを含めているので、この問題を抱えている他の Linux 初心者が簡単に始めることができるかもしれません。 Tomcat のインストールは /opt/tomcat にあり、これらは最終的に次のファイルです:
/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