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

接手一台用 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

参考资料:

posted @ 2018-10-21 17:11 dudu 阅读(...) 评论(...) 编辑 收藏