Tomcat を OS に合わせて自動起動させる方法です。
Tomcat は手動でも起動・停止するこが出来ますが、手動で実施していては運用が大変なので自動起動させるのが一般的です。
Spring Boot でアプリケーションを作成すれば Tomcat を内蔵することも出来るので、Tomcat内臓Spring Bootアプリ を自動起動する方が編集箇所・確認箇所が少なく、運用が簡単で確実なのでおススメです。
しかし、何かしらの制約があり Tomcat単体 で扱うこともあるため、その際にこれらの設定が必要になります。
なお、Tomcat のインストールがまだの場合は、自動起動設定の前に次の記事を参考にインストールしましょう。
サービスファイル作成
それでは自動起動設定です。サービス /etc/systemd/system/tomcat.service を作成して、次のように記載します。
[Unit] Description=Apache Tomcat 9 After=network.target [Service] User=tomcat Group=tomcat Type=oneshot PIDFile=/usr/local/tomcat/tomcat.pid RemainAfterExit=yes ExecStart=/usr/local/tomcat/bin/startup.sh ExecStop=/usr/local/tomcat/bin/shutdown.sh ExecReStart=/usr/local/tomcat/bin/shutdown.sh;/usr/local/tomcat/bin/startup.sh [Install] WantedBy=multi-user.target
Tomcat の場所はそれぞれの環境に合わせて記載します。
サービス有効化・無効化
サービスを有効化します。
# systemctl enable tomcat.service
有効化されたか確認します。
# systemctl list-unit-files --type=service | grep tomcat
これで enabled がレスポンスで返ってくればサービスが有効化されています。disable になっていればサービスが有効になっていません。
サービスを無効にしたい場合、次のコマンドを実行します。
# systemctl disable tomcat.service
上記の確認コマンドでdisable が返却されるはずです。
サービス起動・停止
次のサービスが起動されているかを確認します。
# systemctl list-units --all --type=service | grep tomcat
これで active が返却されれば起動しています。
起動・停止は OS が自動で実施してくれますが、メンテナンス時など手動で実施したいときには次のとおりコマンドを実行します。それぞれ起動・停止・再起動です。
# systemctl start tomcat # systemctl stop tomcat # systemctl restart tomcat
これで自動で Tomcat が OS と共に起動されるようになります。