Windows service wrapper 初探

Posted 第一滴水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows service wrapper 初探相关的知识,希望对你有一定的参考价值。

  引言

本文简要介绍了 Windows service wrapper 及其应用场景。主要介绍了使用方法,特别给出了当使用该工具注册为服务时,但不能启动,并报1067错误时的解决方法。

    正文

    Windows 服务包装器(Windows service wrapper),用于把.exe文件注册为windows服务。比如把nginx.exe注册为windows服务,这样做的好处是,每次启动nginx时不用在命令行中输入命令,而且可以随windows系统启动而启动。不用担心服务器意外重启,服务挂掉。
    目前(2017 年 1 月 11 日)最新版本是2.0.1版。有两种选择,WinSW.NET2.exe安装在.netframework2.0中,WinSW.NET4.exe安装在.netframework4.0中,根据安装环境选择需要下载的文件。如下图
 
   
    下载完成后,需要通过配置文件进行配置,官方文档中关于XML Configuration File格式似乎不是最新的版本。因为我使用这种配置方法,虽然能够注册为服务,但是不能启动,会报代号为1067的错误。下图中红框中是不正确的xml文件格式,正确的为图1中sample-minimal.xml或sample-allOptions.xml中所示。
 
    
 
    使用方法
    以WinSW.NET4.exe为例,下载WinSW.NET4.exe,放至待包装的exe文件夹中,它可以自定义名字,比如这里我们命名为nginxservice.exe。下图中的.log文件都是启动后自动生成的。
 
   
    最重要的是,要在nginxservice.exe同目录中新建一个同名的xml文件,对其配置。如前所述,该文件的格式在sample-minimal.xml或sample-allOptions.xml中所示。
    这里所配置的是最简单的格式,更丰富的配置可以在sample-allOptions中查看。
 
   
    其中id和name不能与系统中其它服务的冲突。
    配置完成后,在命令行中进行安装,
    nginxservice.exe install
    卸载命令:nginxservice.exe uninstall
 
 
    安装后运行services.msc打开服务查看器,就能看到该服务
 
 
    安装成功,查看它的属性,就是我们在配置文件中的配置信息。
 
 
总结
Windows service Warpper 的使用场景为当需要服务器一直运行某个.exe文件,即使重新启动后,也不需要手动去启动该文件,这时需要把该文件注册为服务。
Windows service Warapper 下载后,无需安装,与配置文件放在同一目录中,并且需要相同的名字,使用过程主要是对 xml 文件进行配置。
 

备注

  同步更新到微信公众号中010888
         
 

以上是关于Windows service wrapper 初探的主要内容,如果未能解决你的问题,请参考以下文章

Windows service wrapper 初探

使用Windows Service Wrapper快速创建一个Windows Service 如nginx

Java Service Wrapper 使用(windows)

详解Maven项目利用java service wrapper将Java程序生成Windows服务

Java Service Wrapper将jar包安装成Windows服务

使用Java Service Wrapper将jar包安装成Windows服务