nginx注册成windows服务的解决方法

之前尝试过将nginx注册成windows服务,有用过微软官方的instsrv/srvany, 以及firedaemon, 虽然可以做服务并启动,但是当你想要停止服务时,就会出现问题。 主要原因在于nginx有一个守护进

之前尝试过将nginx注册windows服务,有用过微软官方instsrv/srvany, 以及firedaemon, 虽然可以做服务并启动,但是当你想要停止服务时,就会出现问题。 主要原因在于nginx有一个守护进程,上述的方式只能关闭主进程,多余的进程没法关闭。因此每当用上述的方式时,每次停止/重启服务,都会产生一个多余的nginx进程。非常的不好!

后来发现一个很好的项目:winsw, 可以将可执行文件注册成windows服务,项目的github地址是https://github.com/kohsuke/winsw

它的介绍是:A wrApper executable that can be used to host any executable as an Windows service, in a liberal license

用它将nginx注册成服务后,完美解决上述的问题,使用起来也很简单,根据.Net Framework的版本,下载对应的支持版本,然后修改配置文件,再使用对应的指令安装即可。

配置文件的格式如下,

如果是要部署多个nginx服务,保证id和name保持唯一
根据实际情况进行修改,然后用管理员权限,在当前目录的控制器台中执行

WinSW.NET4.exe install 进行服务安装。

成功后,在操作系统的服务列表中,就可以看到对应的服务了

重启服务和关闭服务,整体表现符合预期,而且系统里也没有多余的进程.

版权声明:(nginx注册成windows服务的解决方法)旨在分享知识。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件标题或链接至 itousu@foxmail.com ,本站将立刻删除。
(0)
上一篇 2020年7月11日 下午2:17
下一篇 2020年7月11日 下午3:25
hao123w, hao123生活号 - 让生活更简单!,更多信息请访问 http://www.hao123w.com/