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

 

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