本文主要介绍windows和linux系统的jar包注册服务方式。
linux设置jar包开机启动:
1、首先制作启动脚本(start.sh),如下:
#!/bin/bash
sleep 20s
JAVA_PATH=/opt/zhxt/jdk-17.0.9/bin/java
JAR_PATH=/opt/zhxt/zhxtserver
$JAVA_PATH -jar $JAR_PATH/zhxtserver.jar --spring.config.location=/opt/zhxt/zhxtserver/application.yml
JAVA_PATH是jdk路径,JAR_PATH是jar包路径,根据实际配置即可
2、给启动脚本加可执行权限
chmod +x start.sh
3、启动start.sh。能启动说明脚本制作成功
4、编写服务文件(jar_server.service),该文件名则为服务名称:
[Unit]
Description=serviceName
After=syslog.target
[Service]
sleep 60s
Type=simple
ExecStart=/opt/zhxt/zhxtserver/start.sh
[Install]
WantedBy=multi-user.target
5、将服务文件放入/etc/systemd/system文件夹下
cp jar_server.service /etc/systemd/system
6、执行 systemctl daemon-reload 刷新服务列表
7、执行 systemctl enable jar_server.service 注册服务
8、执行 systemctl status jar_server.service 查看服务状态
9、执行 systemctl start jar_server.service 启动服务(重启systemctl restart jar_server.service)
10、执行 systemctl stop jar_server.service 停止服务
11、执行 systemctl disable jar_server.service 删除服务
windows设置jar包开机启动:
注册之前需准备,winsw.exe包和server.xml服务配置文件,jdk环境变量可配可不配,本次选择不用jdk环境变量,采用jdk绝对路径启动方式启动jdk。
1、winsw.exe下载连接:https://github.com/winsw/winsw/releases
根据系统位数进行下载,若是64位选择x64,若是32位选择x86
2、xml可手动创建、内容如下:
<service>
<!-- ID of the service. It should be unique across the Windows system-->
<id>zhxtserver</id>
<!-- Display name of the service -->
<name>zhxtserver</name>
<!-- Service description -->
<description>This service is a service zhxtserver</description>
<env name="JAVA_HOME" value="%JAVA_HOME%"/>
<!-- java 路径 -->
<executable>F:\servers\jdk17\bin\java</executable>
<!-- jar包启动方式,如java -Xms512m -Xmx1024m -Xmn256m -jar test.jar-->
<arguments> -jar zhxtserver.jar</arguments>
<!-- 服务注册方式:自动则为开机启动-->
<startmode>Automatic</startmode>
<logpath>%BASE%\logs</logpath>
<logmode>rotate</logmode>
</service>
3、注意:exe、jar包、xml这三个名称必须相等
4、打开命令行(管理员模式进入到当前文件路径),执行zhxtserver.exe install后服务注册成功
5、win+R输入services.msc进入服务列表,能看到服务则注册成功
6、右键查看属性,若是自动则设置开机启动成功,右键可启动、停止、重启操作
7、删除服务,以管理员方式进入命令行,执行 sc delete 服务名称: