Windows使用WinSW实现开机自启动服务

在windwos系统中,有时候需要java的jar开机自启动,或者nginx的开机自启动,或者内网穿透工具(frp)的开机自启动,使用WinSW是一种很好的选择,记录一下使用WinSW实现的方式

WinSW开源和下载地址(最新版WinSW v2.11.0)

https://github.com/winsw/winsw

https://github.com/winsw/winsw/releases/tag/v2.11.0

我的电脑是win10的64位系统,因此下载对应的版本,WinSW需要win10系统.NET Framework支持的,在老系统中,可能需要弄兼容,其中有两个配置文件,一个简单的一个复杂的(详细字段说明太复杂了,只需要简单的功能就可以,没有去研究过)

sample-minimal.xml

sample-allOptions.xml

  1. windows10系统配置nginx开机启动

Nginx-WinSW-x64.xml和Nginx-WinSW-x64.exe名称必须保持一致,使用的相对路径

Nginx-WinSW-x64.xml文件内容

<service>
    <!-- 安装windows服务后的服务ID,必须是唯一的 -->
    <id>Nginx-Service</id>
    <!-- 服务名称,唯一的,一般和id一致即可 -->
    <name>Nginx-Service</name>
    <!-- 该服务的描述 --> 
    <description>Nginx-Service-Test</description>
    <!-- 启动 执行的命令 -->
    <executable>nginx.exe</executable>
    <!-- 停止 -->
    <stopexecutable>nginx.exe -s stop</stopexecutable>
    <!-- 第一次启动失败 120秒重启 -->
    <onfailure action="restart" delay="120 sec"/>
    <!-- 第二次启动失败 300秒后重启计算机 -->
    <onfailure action="reboot" delay="300 sec"/>
    <!-- 开机启动 -->
    <startmode>Automatic</startmode>
    <!-- 日志配置 -->
    <logpath>nginx-WinSW-log</logpath>
    <!-- append:追加模式;reset:重设模式,每次服务启动时,旧的日志文件都会被截断;none:不生成任何日志文件 -->
    <logmode>none</logmode>
</service>

nginx-winsw-install.bat

@echo off

Nginx-WinSW-x64.exe install

exit

nginx-winsw-start.bat

@echo off

Nginx-WinSW-x64.exe start

exit

nginx-winsw-stop.bat

@echo off

Nginx-WinSW-x64.exe stop

exit

nginx-winsw-uninstall.bat

@echo off

Nginx-WinSW-x64.exe uninstall

exit

首先运行nginx-winsw-install.bat 这样便能达到开机启动的作用,

如果马上要启动,那么在注册运行之后运行nginx-winsw-start.bat

停止和注销注册也有,注销之后开机启动就不起作用了

  1. window10配置java开机启动(系统需要有java环境)

Boot-WinSW-x64.xml

<service>
    <!-- 该服务的唯一标识 -->
    <id>boot-black</id>
    <!-- 该服务的名称 -->
    <name>boot-black-0.0.1</name>
    <!-- 该服务的描述 -->
    <description>boot-black-0.0.1-SNAPSHOT</description>
    <!-- 要运行的程序路径 -->
    <executable>java</executable>
    <!-- 携带的参数 -->
    <arguments>-jar boot-black-0.0.1-SNAPSHOT.jar</arguments>
    <!-- 第一次启动失败 60秒重启 -->
    <onfailure action="restart" delay="120 sec"/>
    <!-- 第二次启动失败 120秒后重启 -->
    <onfailure action="restart" delay="240 sec"/>
    <!-- 日志模式 -->
    <logmode>append</logmode>
    <!-- 指定日志文件目录(相对于executable配置的路径) -->
    <logpath>boot-WinSW-log</logpath>
    <!-- append:追加模式;reset:重设模式,每次服务启动时,旧的日志文件都会被截断;none:不生成任何日志文件 -->
    <logmode>none</logmode>
</service>

boot-black-install.bat

@echo off

Boot-WinSW-x64.exe install

exit

boot-black-uninstall.bat

@echo off

Boot-WinSW-x64.exe uninstall

exit

可以参照对比写出相应的bat操作文件

@echo off

Boot-WinSW-x64.exe start

exit

@echo off

Boot-WinSW-x64.exe stop

exit
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值