第一步:修改catalina.sh文件
# vim 编辑 Tomcat bin/catalina.sh 文件。增加如下内容
CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid"
第二步 :创建 tomcat.service 文件
进入 /lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat service
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment="JAVA_HOME=/home/app/jdk1.8.0_171"
PIDFile=/home/app/apache-tomcat-8.5.31/bin/tomcat.pid
ExecStart=/home/app/apache-tomcat-8.5.31/bin/startup.sh
ExecStop=/home/app/apache-tomcat-8.5.31/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
脚本介绍
Description
服务描述
After
如果该字段指定的 Unit 也要启动,那么必须在当前 Unit 之前启动
Type=forking
后台运行
Environment="JAVA_HOME=/home/app/jdk1.8.0_171"
java安装路径。因为服务启动时,是不会读取全局变量的(/etc/profile),因此全局变量中配置的属性是读取不到的需要注意。
PIDFile=/home/app/apache-tomcat-8.5.31/bin/tomcat.pid
此文件是在第一步时配置的
如果type是后台运行,建议将此属性加上。指定pid。
ExecStart=/home/app/apache-tomcat-8.5.31/bin/startup.sh
启动脚本
ExecReload=/home/app/apache-tomcat-8.5.31/bin/shutdown.sh
重启脚本
ExecStop=/bin/kill -s HUP $MAINPID
停止脚本
PrivateTmp=true
是否使用私有tmp目录
WantedBy=multi-user.target
运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
第三步:保存退出,重新加载systemd
systemctl daemon-reload
重新加载,使 systemd生效
第四步:验证脚本
# 查看服务状态
systemctl status tomcat.service
# 停止服务
systemctl stop tomcat.service
# 启动服务
systemctl start tomcat.service
# 重启服务
systemctl restart tomcat.service
第五步:配置开机自启
#开启开机自启
systemctl enable tomcat.service
#取消开机自启
systemctl disable nginx.service