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
以上です。