jar作爲服務開機自啓動(Windows Server,CentOS7)

前提:JDK環境已經準備好。

windows系統

jar所在路徑:D:\middle_cloud\eureka

日誌存放路徑:D:\middle_cloud\eureka\log

啓動exe和xml文件存放路徑:D:\middle_cloud\eureka

1.下載WinSW.NET4.exe

地址:https://github.com/kohsuke/winsw/releases

2.把下載的WinSW.NET4.exe文件放到D:\middle_cloud\eureka目錄下,更改名稱爲pay-eureka.exe

3.新建pay-eureka.xml文件,內容如下:

 <service>
	<id>pay-eureka</id>

	<name>pay-eureka</name>

	<description>自己的服務描述</description>

	<!-- java環境變量 -->

	<env name="JAVA_HOME" value="%JAVA_HOME%"/>

	<executable>java</executable>

	<arguments>-jar "D:\middle_cloud\eureka\eureka-server-0.0.1-SNAPSHOT.jar"</arguments>

	<!-- 開機啓動 -->

	<startmode>Automatic</startmode>

	<!-- 日誌配置 -->

	<logpath>%BASE%\log</logpath>

	<logmode>rotate</logmode>
 </service>

4.在D:\middle_cloud\eureka目錄下打開cmd,運行如下命令

pay-eureka.exe install

5.查看服務,已設置爲開機自啓服務。

 

CentOS7

jar的所在目錄:/usr/local/cloud_platform

日誌存放目錄:/usr/local/cloud_platform/logs

啓動和停止腳本存放路徑:/usr/local/cloud_platform/conf

1.在/usr/local/cloud_platform/conf路徑下新建啓動和停止腳本

eureka-start.sh

#!/bin/sh
nohup /usr/local/java/jdk1.8.0_201/bin/java -jar /usr/local/cloud_platform/cloud-eureka-server-0.0.1-SNAPSHOT.jar > /usr/local/cloud_platform/logs/eureka.log 2>&1 &
echo $! > /var/run/eureka-9011.pid

eureka-stop.sh

#!/bin/sh
PID=$(cat /var/run/eureka-9011.pid)
kill -9 $PID

2.增加文件權限

cd /usr/local/cloud_platform/conf
chmod -R 777 eureka-start.sh
chmod -R 777 eureka-stop.sh
cd /usr/local/cloud_platform
chmod -R 777 logs/
chmod -R 777 cloud-eureka-server-0.0.1-SNAPSHOT.jar

3.進入/etc/systemd/system或者/usr/lib/systemd/system目錄下

cd /etc/systemd/system
#編輯eureka服務
vim eureka-server.service

文件內容:

#!/bin/sh
[Unit]
Description=Pay Eureka Server Manager
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/cloud_platform/conf/eureka-start.sh
ExecStop=/usr/local/cloud_platform/conf/eureka-stop.sh
 
PrivateTmp=true
[Install]
WantedBy=multi-user.target

4.執行命令

#將jar添加到開機自啓服務中
systemctl enable eureka-server.service
#系統服務刷新
systemctl daemon-reload
#啓動服務
systemctl start eureka-server.service
#查看服務狀態
systemctl status eureka-server.service

#其他命令
#停止服務
systemctl stop eureka-server.service
#取消開機自啓
systemctl disable eureka-server.service

 

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