如何使用Winsw将jar包部署成自启动服务
部署文档
一、部署说明
由于项目的后台服务使用springboot框架进行开发,开发时将socket等元素依赖于springboot容器管理。故采用jar包部署的方式。由于部署环境是windows服务器,需要将jar包部署成windows服务。现使用最方便部署的Winsw开源项目部署服务。
二、首次部署
1、将WinSW.NET4.exe文件复制到jar包所在文件夹中
2、将WinSW.exe重命名为myService.exe
3、新建一个xml文件,命名为myService.xml(和myService.exe同名),写入以下内容:
<service> <id>myService</id> <name>myService</name> <description>This is HelloWorld service.</description> <!-- java环境变量 --> <env name="JAVA_HOME" value="%JAVA_HOME%"/> <executable>java</executable> //jar包所在路径 <arguments>-jar "E:springbootmyService.jar"</arguments> <!-- 开机启动 --> <startmode>Automatic</startmode> <!-- 日志配置 --> <logpath>%BASE%log</logpath> <logmode>rotate</logmode> </service>
4、如果没有配置环境变量,直接将三个文件扔到jdk的bin目录下运行。去掉标签
<env name="JAVA_HOME" value="%JAVA_HOME%"/>
5、以管理员身份打开命令行,定位到当前目录,执行:
esp.exe install
6、 去windows服务列表(win+R,然后输入services.msc进入服务列表)中找到myService服务,然后启动服务。
三、版本更新
1、卸载服务
先去服务列表停止服务!!!这一步非常重要!!!
进入jar包所在的文件夹,使用cmd命令行,执行
sc delete 服务名 或者 esp.exe uninstall
卸载服务。
2、部署服务
进入jar包所在的文件夹,使用cmd命令行,执行esp.exe install,重新部署服务。
若只需要将jar包以java -jar的方式自启动见我另一篇博客:
部署有任何问题,欢迎留言,我会及时回复哒~