在 Windows 将程序创建为自定义的服务,例如——Nginx

我们很容易会产生这样的一个需求,如果在 Windows 上面有一个程序或者一段脚本,我们需要将其设置为一个可以自启动,断掉会重连的服务。

例如 Nginx 在 windows 上面并没有安装服务,那么我们如何将其作为服务运行呢?

例如 windows 下面的 nginx,我们安装好之后,执行 nginx.exe 这个文件,然后通过 nginx -s ???? 来启停这个服务。

但是这样明显不好,至少挂掉之后就不会再起来了,而且怎么自启动还是个问题。

那么我们很自然会想到将其搞成一个服务。

NSSM

隆重介绍我们的这个工具,这将是一个具有普遍性意义可用的 Windows 服务管理器。

在这里前置提醒一下,实测只能在 Windows 7 或 Windows Server 2008 以上的系统运行,2003 和 XP 貌似都不太灵光。

名字很风骚:《NSSM – the Non-Sucking Service Manager》

官网:https://nssm.cc/

直接下载:nssm-2-24

很轻巧的一个插件,只有一个 zip,打开之后,我们把里面的 nssm.exe 文件直接复制到 C:\Windows 下面。

然后我们获得了这个很牛叉的 nssm 命令。

创建服务

例如我们现在要高一个名称为 Nginx 的服务用于执行 nginx。

nssm install <Service Name>

然后就会弹出一个交互的对话框用于输入服务的信息。

举个栗子

然后点 Install service,服务就安装成功了。

上图的这个操作也可以用非窗口交互的命令行来完成参数的设定:

nssm set UT2003 Application C:\games\ut2003\System\UCC.exe
nssm set UT2003 AppDirectory C:\games\ut2003\System
nssm set UT2003 AppParameters server

搞我们的 Nginx

同样,执行安装语句:

nssm install Nginx

第一个 Tab 里面我们输入一下我们需要执行的命令,在这里我们输入 C:\nginx\nginx.exe,其他两项都为空。

另外,我们希望这个服务用 Administrator 来执行,我们选择 Log on 这个 Tab

在这里填入 Administrator 的用户名密码,就可以完成了。

然后点击 Install service,去服务管理那里启动,大功告成,So easy。

当然还有很多配置,需要学习的请直接看官网介绍:https://nssm.cc/usage

修改服务

如果创建的时候填错了怎么办?简单:

nssm edit Nginx

删除服务

要卸载服务也简单,可以用系统自带的 sc 命令:

sc delete Nginx

也可以用我们的 NSSM:

nssm remove Nginx

脑洞请自开

于是啊,我们可以自己写个 批处理.cmd 啊,python 脚本之类的运行成服务,就不是什么难事了,请自行实验。


另有一篇文章原文:http://blog.csdn.net/defonds/article/details/7906005 Winsw.exe 下载地址:winsw-1-8-bin

貌似除了 Winsw 之外还有一个选择:https://nssm.cc/


【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2016/10/windows-service-wrapper.html【在 Windows 将程序创建为自定义的服务,例如——Nginx】

发表评论

电子邮件地址不会被公开。 必填项已用*标注