Windows Service Wrapper,简称WinSW,是一个注册服务的工具,下面将介绍如何利用WinSW注册服务,以nginx服务器和jar包为例
1. 下载exe文件下载地址:https://github.com/winsw/winsw/releases
根据系统选择合适的exe文件,如下图所示:
下载后,修改名称,可根据自己需要修改,但与下面创建的xml文件名保持一致
新建文本文档,将后缀名改为**.xml**,文件命名与exe可执行文件保持一致
2.1 jar包注册为服务xml文件内容填写如下:
ELK-Server ELK-Server ELKJarProject java -jar -Xms2048m -Xmx2048m -Xmn256m -XX:NewSize=256m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 server-0.0.1-SNAPSHOT.jar Automatic logs/service rotate
id为服务id,name为服务名称,description是服务描述,arguments标签中,server-0.0.1-SNAPSHOT.jar为要注册为服务的jar包,其他不需要修改
2.2 Nginx服务器注册为服务xml文件内容填写如下:
el-gznwmhweb el-gznwmhweb el-gznwmhweb(8000) E:nginx-1.12.2logs roll E:nginx-1.12.2nginx.exe E:nginx-1.12.2nginx.exe -s stop
id为服务id,name为服务名称,description是服务描述,logpath为nginx日志文件路径,executable内填写可执行文件nginx.exe的路径
3. 注册服务将exe文件和xml文件复制到与需要注册为服务的文件相同目录中,如下图所示(以jar包注册服务为例),打开Windows命令提示符,以管理员身份运行,进入该目录,运行如下命令:
$> JarService.exe install
其中,JarService.exe为先前修改后的可执行文件名
打开windows服务,即可看到已经注册好的服务
若要卸载服务,运行如下命令:
$> JarService.exe uninstall
*注意: 卸载服务时候需要将服务停止运行,否则会卸载失败



