历史版本10 :Linux下Tomcat开机自启动 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

虽然使用命令行可以对 Tomcat 进行各种操作,比如启动等,但是还是不太方便,下面介绍在 Linux 下安装 Tomcat 后,如何设置其开机自启动。

注:Tomcat 设置开机自启动后,日志路径会变化,建议指定日志路径。指定日志路径文档请参见:Tomcat 中指定日志/临时文件路径

目录:

1. CentOS6.x&RedHat6.x 配置 Tomcat 开机自启动编辑

1.1 创建 Tomcat 的管理脚本

首先,在系统的/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" instart) 
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 的根目录

保存脚本文件后设置文件的执行权限:

chmod a+x /etc/init.d/tomcat

然后,就可以通过该脚本对 tomcat 服务进行管理了:

/etc/init.d/tomcat start
/etc/init.d/tomcat stop

1.2 使用 chkconfig 设置开机自启动

上面的步骤完成了用脚本管理 Tomcat 服务的功能,接下来我们就可以使用 chkconfig 来设置 Tomcat 开机启动了。

先将 Tomcat 服务加入 chkconfig 管理列表:

chkconfig --add /etc/init.d/tomcat

配置完以后,就可以使用以下命令设置开机自启动等操作了:

chkconfig tomcat on     # 设置开机自启动
chkconfig tomcat off    # 停止开机自启动
service tomcat start    # 启动 tomcat 服务
service tomcat stop     # 停止 tomcat 服务
service tomcat restart  # 重启 tomcat 服务

2. CentOS7.x&RedHat7.x 配置 Tomcat 开机自启动编辑

2.1 创建 Tomcat 的管理脚本

首先,在系统的/lib/systemd/system/目录下创建 tomcat.service 文件:

vi /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
PrivateTmp=true
[Install]
WantedBy=multi-user.target

注意,对于自定义编译安装的 tomcat(帮助文档中提供的即是此种方式),需要根据实际路径修改脚本中的 tomcat 启动路径“/usr/tomcat/bin/startup.sh”。

保存脚本文件后设置文件的执行权限:

chmod a+x /lib/systemd/system/tomcat.service

2.2 指定Tomcat的启动JRE路径

编辑tomcat的bin目录下setclasspath.sh文件:

vi /usr/local/tomcat/bin/setclasspath.sh   #自己的tomcat路径

注:正常这个文件是有内容的,如果没有内容 请编辑tomcat/bin/catalina.sh 我的tomcat是8.5.38的 。

增加JRE环境变量:

export JAVA_HOME=/usr/local/java/jdk1.8.0_151 #自己的java路径
export JRE_HOME=/usr/local/java/jdk1.8.0_151/jre #自己的jre路径

加入后效果:

20161018141757039.png

保存,退出。

2.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=tomcat    # 查看所有已启动的服务