很多小伙伴在win服务器上发布代码会遇到一些问题
比如开机自启文件夹需要用户登录后才可以启动,如果你不登陆用户,则自启文件夹下的快捷方式无法启动,这样会导致每次重启完服务器后还需要登录十分的麻烦。
还有bat需要管理员权限执行时,需要手动点击授权,更加麻烦。
但是这些问题,会随着注册成服务迎刃而解。
win下注册成服务后不再需要登录即可启动相关的服务,只需要设置成自动即可,而且默认有管理员权限,一切就是这么的帅气~~
言归正传:
方式一:(exe注册成服务)
https://github.com/cxwl3sxl/AnyExeToService/releases/tag/1.2
方式二:(exe/bat注册成服务)
需要用到的东西:
1.winsw.exe,下载地址
http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.9.0/
2.winSW.xml,自己根据注释来修改
<service>
<!-- 指定在Windows系统内部使用的识别服务的ID。在系统中安装的所有服务中,这必须是唯一的,它应该完全由字母数字字符组成 -->
<id>xxx</id>
<!-- 服务的简短名称,它可以包含空格和其他字符。尽量简短,就像“id”一样,在系统的所有服务名称中,也要保持唯一 -->
<name>xxx Service</name>
<!-- 该服务可读描述。当选中该服务时,它将显示在Windows服务管理器中 -->
<description>A Service For xxx</description>
<!-- 该元素指定要启动的可执行文件 -->
<executable>%BASE%\start.bat</executable>
<!-- 日志输出位置 -->
<logpath>%BASE%\logs</logpath>
</service>
3.start.bat,启动脚本
@echo off
------------------
你的启动命令放在这里,删除"----"以及之间的文字,
------------------
:start
echo pause 5s
choice /t 5 /d y /n >nul
goto start
4.install.bat,添加服务(直接双击执行)
@echo off
start cmd /k "winsw.exe install"
exit
5.uninstall.bat,卸载服务(直接双击执行)
@echo off
start cmd /k "winsw.exe uninstall"
exit
准备好后,双击执行install.bat,即可注册成服务
两种方法都可以,根据自己的需求选择一个即可