CentOS 7でTomcat 9の起動スクリプトの作成と自動起動を設定する方法

CentOS 7でTomcat 9の起動スクリプトを作成し、また自動起動を設定する方法のメモです。
CentOS 7からは起動・停止や自動起動の管理が systemctl になりましたのでその内容となります。

起動スクリプトは /etc/systemd/system/tomcat.service となりますのでこのファイルを作成します。

$ vim /etc/systemd/system/tomcat.service

内容は下記を記載。
(Tomcat 9のパスは適宜修正してください)

[Unit]
Description=Apache Tomcat
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/usr/local/tomcat9/bin/bin/startup.sh
ExecStop=/usr/local/tomcat9/bin/bin/shutdown.sh
KillMode=none

[Install]
WantedBy=multi-user.target

続いてJavaのパスを設定。

systemctl からの起動の場合、Javaのパスが通っていないので /etc/sysconfig/tomcat ファイルにその設定をします。

$ vim /etc/sysconfig/tomcat

内容は下記を記載。
(パスは適宜修正してください)

JAVA_HOME="/usr/java/default/"

もしこのファイルを作成していないと、systemctl start tomcat をした際に下記のエラーが表示されることになります。

Job for tomcat.service failed because the control process exited with error code. See “systemctl status tomcat.service” and “journalctl -xe” for details.

最後に権限を付与して自動起動の設定までしておきます。

$ chmod 755 /etc/systemd/system/tomcat.service
$ systemctl enable tomcat
$ systemctl is-enabled tomcat

これで完了。
あとは起動してみて無事に起動するか確認してみてください。

$ systemctl start tomcat
$ systemctl status tomcat

以上です。

コメントを残す

メールアドレスが公開されることはありません。