Centos 7 將java服務註冊爲系統服務,使用systemctl來管理——築夢之路

背景介紹:

   當部署Java服務的時候,一般採用容器運行,比如tomcat,或者直接使用Java命令行運行,比如Java -jar xxx.jar;

需要做成開機啓動服務的時候,一般也使用腳本,然後添加到/etc/rc.local文件中,這裏介紹將Java服務直接註冊到系統服務,使用systemctl來進行管理,簡單、方便、快捷!下面就舉個例子:

#java 文件爲abc.jar
#java 文件路徑爲/opt/abc.jar
#java 文件運行命令爲:java -jar /opt/abc.jar 

#啓動腳本start-java.sh
#!/bin/bash

#Java環境變量
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#啓動Java服務,將日誌重定向到文件
java -jar /opt/abc.jar > /opt/abc.log &
#將進程號寫入文件
echo $! > /var/run/abc.pid


#停止服務的腳本stop-java.sh
#!/bin/bash
#獲取進程號
PID=$(cat /var/run/abc.pid)
#殺死進程
kill -9 $PID

#註冊服務/usr/lib/systemd/system/java.service
[Unit]
Description=java
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/opt/start-java.sh
ExecStop=/opt/stop-java.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target


#######################################

systemctl daemon-reload

systemctl start java

systemctl enable java

systemctl stop java

此文僅供參考,如有不足之處,歡迎大佬指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章