配置 Tomcat 以服务方式自动运行

时间:2023-11-22 09:26:44

接手一台用 Tomcat 跑着 Java Web 应用的 Linux CentOS 服务器,通过镜像的方式更换服务器后站点无法访问,发现是因为 Tomcat 不能在服务器启动后自动启动,于是基于 init.d 将 Tomcat 配置为以服务方式自动运行。

配置步骤如下:

  • /etc/init.d/ 目录中添加配置文件 tomcat-app
  • 通过 chmod +x tomcat-app 命令将 tomcat-app 设置为可执行文件
  • 通过 chkconfig --add tomcat-app 命令将 tomcat-app 添加到启动服务中
  • 通过 chkconfig --list tomcat-app 命令检查是否成功添加到启动服务中
  • 通过 service tomcat-app start 命令测试服务是否可以正常启动
  • 重启服务器验证 tomcat-app 是否可以自动启动

tomcat-app 配置文件内容

配置要点:

  1. 注释中一定要添加 chkconfig ,不然添加到启动服务中时会报错 "service xxx does not support chkconfig"
  2. 要设置 JAVA_HOME 与 JRE_HOME 环境变量,不然启动服务时会报错 "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"

具体配置如下:

#!/bin/bash
# chkconfig: 2345 80 20 export JAVA_HOME="/javaWork/jdk1.8.0_171"
export JRE_HOME="/javaWork/jdk1.8.0_171/jre" TOMCAT_HOME=/usr/local/javaTom/apache-tomcat-9.0.12/bin start() {
cd $TOMCAT_HOME
./startup.sh
} stop() {
cd $TOMCAT_HOME
./shutdown.sh
} case $1 in
start|stop) $1;;
restart) stop; start;;
*) echo "Run as $0 "; exit 1;;
esac

参考资料: