1. 概述
本文介绍 Linux 系统安装 Tomcat 后,设置开机自启动的方法。
2. Ubuntu16.04及之前&CentOS6.x&RedHat6.x配置 Tomcat 开机自启动
2.1 创建 Tomcat 的管理脚本
1)首先,在系统的/etc/init.d/目录下创建tomcat文件:
vi /etc/init.d/tomcat
点击 i 键,在脚本中添加如下内容:
#!/bin/bash
# tomcat startup script for the Tomcat server
# chkconfig: 35 80 20
# description: start the tomcat deamon
#prog=tomcat
#EDISPORT=8080
#默认为 8080,若有调整请修改为实际的端口号
#EXEC=/usr/tomcat/bin/startup.sh
#tomcat 容器的启动路径
#CONF="/usr/tomcat/bin/catalina.sh"
#配置文件路径
#<---------------jdk--------------->#
#. /etc/rc.d/init.d/functions
#prog=tomcat
#JAVA_HOME=/usr/jdk/jdk1.8.0_181
#export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
#export PATH=$PATH:$JAVA_HOME/bin
#export JAVA_HOME#CATALANA_HOME=/usr/tomcat/
#export CATALINA_HOME
#<---------------jdk--------------->#
CATALANA_HOME=/usr/tomcat/
export CATALINA_HOME
case "$1" in start)
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
sleep 2
echo
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
*)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit 0
对于自定义编译安装的 Tomcat(帮助文档中提供的即是此种方式),需要根据安装路径修改脚本中这几项配置:
CATALANA_HOME=/usr/tomcat/ ====> tomcat/bin/目录下catalana.sh 的根目录
2)保存脚本文件后设置文件的执行权限:
chmod a+x /etc/init.d/tomcat
3)然后,就可以通过该脚本对 tomcat 服务进行管理了:
/etc/init.d/tomcat start
/etc/init.d/tomcat stop
2.2 使用 chkconfig 设置开机自启动
1)上面的步骤完成了用脚本管理 Tomcat 服务的功能,接下来我们就可以使用 chkconfig 来设置 Tomcat 开机启动了。
先将 Tomcat 服务加入 chkconfig 管理列表:
chkconfig --add /etc/init.d/tomcat
2)配置完以后,就可以使用以下命令设置开机自启动等操作了:
chkconfig tomcat on # 设置开机自启动
chkconfig tomcat off # 停止开机自启动
service tomcat start # 启动 tomcat 服务
service tomcat stop # 停止 tomcat 服务
service tomcat restart # 重启 tomcat 服务
3. Ubuntu16.10及之后&CentOS7.x&RedHat7.x配置 Tomcat 开机自启动
3.1 创建 Tomcat 的管理脚本
1)首先,在系统的/usr/lib/systemd/system/目录下创建tomcat.service文件:
vi /usr/lib/systemd/system/tomcat.service
点击 i 键,在脚本中添加如下内容:
[Unit]
Description=tomcat service
After=network.target
[Service]
Type=forking
ExecStart=/usr/tomcat/bin/startup.sh
ExecReload=/usr/tomcat/bin/startup.sh -s reload
ExecStop=/usr/tomcat/bin/shutdown.sh
WorkingDirectory=/usr/tomcat/bin
PrivateTmp=false
[Install]
WantedBy=multi-user.target
注1:需要根据实际路径修改脚本中的 Tomcat 安装路径「/usr/tomcat」。
注2:推荐指定 WorkingDirectory=/user/tomcat/bin 让tomcat 从这个bin路径启动, 否则 fanruan.log 等日志会生成到 /logs下, 既耽误排查, 又可能撑爆根目录空间。
2)保存脚本文件后设置文件的执行权限:
chmod a+x /usr/lib/systemd/system/tomcat.service
3.2 指定 Tomcat 的启动 JRE 路径
1)编辑 Tomcat 的 bin 目录下 setclasspath.sh 文件:
vi /usr/local/tomcat/bin/setclasspath.sh #自己的tomcat路径
注:正常这个文件是有内容的,如果没有内容,请编辑 Tomcat/bin/setenv.sh。如果文件不存在,可以创建一个新的setenv.sh文件。
2)增加 JRE 环境变量:
export JAVA_HOME=/usr/local/java/jdk1.8.0_151 #自己的java路径
export JRE_HOME=/usr/local/java/jdk1.8.0_151/jre #自己的jre路径
加入后效果:
保存,退出。
3.3 使用 systemctl 设置开机自启动
配置完脚本以后,就可以使用以下命令设置开机自启动等操作了:
systemctl enable tomcat.service # 设置开机自启动
systemctl disable tomcat.service # 停止开机自启动
systemctl start tomcat.service # 启动 tomcat 服务
systemctl stop tomcat.service # 停止服务
systemctl status tomcat.service # 查看服务当前状态
systemctl list-units --type=service # 查看所有已启动的服务