WIndows服务器中Springboot项目的发布与维护

一般情况下,我们的项目开发测试完毕,会放在Linux服务器上,但是不排除二般情况,本人有幸遇到并长期处于这种应用场景,在此记录一下解决方案,如果有更好的方案或者建议,欢迎留言 。

方法一:使用批处理脚本维护

在此之前,我们项目单体的服务是这样发布的,执行启动脚本即可,类似于下图,发布和维护都很方便
在这里插入图片描述
但是新的工作场景中使用的服务器是win10,同理,我们可以使用windows的批处理脚本来启动和停止我们的springboot项目,方法如下:
1.将打好的jar包放到服务器目录下,例如我这里是:F:\ecimservice\eCimTestService.jar;
2.新建一个文本文件,文件内容如下:

@echo off
start eCimTestService -jar  F:\ecimservice\eCimTestService.jar
exit

保存后重命名为:start.bat;
3.新建文本文件,文件内容:

@echo off
taskkill -f -t -im eCimTestService.exe
exit

保存后重命名为:stop.bat;这两个文件和jar包放置到同一目录下
4.找到本机JDK安装的bin目录,例如我这里是:E:\JDK1.8\jdk1.8\bin,
复制一份javaw.exe,重命名为eCimTestService.exe,放置在bin目录下;
5.返回到项目jar包路径下,双击start.bat文件,命令提示窗一闪后关闭,
我这边启动的是8084端口,可以验证一下:
cmd打开命令窗口:netstat -aon|findstr “8084”在这里插入图片描述
使用postman请求服务:
在这里插入图片描述
接口成功响应,初步任务完成,重新发布服务时,双击stop.bat脚本,更换jar包后重新双击启动脚本即可。

方法二:将jar包设置为windows服务

上述服务运行一段时间以后,公司的其他服务陆续发布在同一个服务器上,随着服务的增多,也会带来一系列问题,比如有同事在更新他的服务时,手误干掉了我的服务,还有一次有人重启了服务器,,等等等等。。。由于我这里的服务并非自己使用,是提供给其他部门调用,直到连不上了这帮人才会说,我上去一看,我的服务早就停了。
在这里插入图片描述
灵光一闪,不如把项目搞成windows服务吧,被误删的概率能小点,而且设置为开机自启动以后,不怕你系统重启,只要你服务器能活过来,我的服务就可以重生,说干就干,具体步骤如下:
1.到gitHub上下载WinSW.NET4.exe这个文件:

WinSW.NET4.exe
2.下载下来后放到项目jar包同一目录下,将名称修改为和jar包一致;
3.新建xml文件,名称和jar包一致,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<service>

         <id>eCimTestService</id>

         <name>eCimTestService</name>

         <description>This is eCimTestService service.</description>

         <!-- java环境变量 -->

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

         <executable>java</executable>

        <arguments>-jar " F:\ecimservice\eCimTestService.jar"</arguments>

         <!-- 开机启动 -->

         <startmode>Automatic</startmode>

         <!-- 日志配置 -->
<!--
         <logpath>%BASE%\log</logpath>

         <logmode>rotate</logmode>-->

     </service>

4.以管理员身份,cmd打开命令行,定位到当前目录,执行:

eCimTestService.exe install 成功后会有successful的提示;
5.去windows服务列表中查看,可以找到该服务,设置为开机自启动之后,服务器重启后也不用担心服务挂掉没人管。
在这里插入图片描述
6.更新jar文件时,停止服务,更新jar包,重启服务即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值