第一步:修改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