Ubuntu 16.04にtomcat9をインストールし、コマンドラインから正常に起動しましたが、
sudo /usr/local/tomcat9/startup.sh
そしてwebappsのすべてのプロジェクトを読み込むことができます。
ただし、OSが起動したときに実行しようとすると、 "webapps / docs"のロード中は常に中断されます。以下はcatalina.outのスナップショットです:
Tomcatを自動的に起動する3つの方法を試しました。
1. init.dディレクトリにサービスを設定します。
1)「catalina.sh」ファイルを「/etc/init.d」にコピーし、名前を「tomcat」に変更します。 2) ファイルに Evirement Virables を追加します。
CATALINA_HOME=/usr/local/tomcat9
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
3) コマンドを使用する
service tomcat start
2. systemdでのサービス設定
1) 「/etc/systemd/system/tomcat.service」ファイルを編集します。
2) コマンドラインから設定をロードします。
systemctl daemon-reload
systemctl start tomat
3) 状態確認
systemctl status tomat
Tomcat サービスが正常に開始されたことを示します。
3. まず、「rc.local」サービスを設定し、「rc.local」ファイルに起動スクリプトを追加します。
1) 「/etc/systemd/system/rc-local.servic」ファイルを編集します。
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
2) 「/etc/rc.local」ファイルを編集します。
sudo /usr/local/tomcat9/bin/startup.sh
3)「rc.local」サービスを有効にします。
sudo systemctl enable rc-local.service
4) 再起動
これらすべての方法は同じ結果を提供します。 Tomcatは起動されますが、Webアプリケーションのロードは完了しないため、最初のアプリケーション「ドキュメント」の読み込み中に中断されます。
私はこれについて何も知りません。助けてください。
答え1
起動時に他のJAVA_HOMEシステム環境変数を設定しても同様の動作が発生しました。
疑わしい行は次のとおりです。
これはあなたが言及したJavaとは異なるようですJAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
。
私は次のことを試してみます:
- 基本Javaを確認してください。
update-alternatives --config java
JAVA_PATH
aがどこかに設定されていることを確認してください。
catalina.sh
また にコピーしたと言われましたが/etc/init.d
、これも問題になることがあります。私たちの環境(実際にはtomcat7ですが非常に似ていると思います)には単純なスクリプトがあります。/etc/init.dJAVA_HOMEを起動するように設定起動ファイル。次のようになります。
JAVA_HOME=/opt/jdk1.8.0_92/
export JAVA_HOME
JRE_HOME=/opt/jdk1.8.0_92/jre
export JRE_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/opt/tomcat
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh -force
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh -force
sleep 3
sh $CATALINA_HOME/bin/startup.sh
;;
たぶん、start.shの使用を検討する必要があります。/etc/init.dスクリプト。
あなたの問題をより詳細に調査できるように、いくつかのコメントを提供したいと思います。
答え2
私の場合(rc.local / sysvではなくtomcat 8.5およびsystemd.serviceデバイスを使用)、ソリューションは次のように変更されました。
WorkingDirectory=/opt/tomcat-foobar/
答え3
起動時にTomcatを起動する1つの方法は、cron
次の属性を使用して@reboot
実行することです。
端末を開き、次のように入力します。
sudo crontab -e
ファイルの最後に次のコマンドを入力します。
@再起動PATH_TO_WHERE_TOMCAT_インストール済み/bin/startup.sh
ファイルを保存して終了します。
上記のコマンドは、コンピュータが起動するたびにコマンドを実行します。