将任意exe程序封装为Windows服务
前段时间使用了一个开源项目ScheduleMaster,一个任务调度平台,非常的方便。
我按照步骤把项目打包挂在IIS上了,然后配置一下,很快就搞定了。美滋滋...
但是没想到第二天一来,任务节点都停止了。我就纳闷儿了,怎么好好的挂了呢。
经过两天的测试和观察,最后发现好像是IIS回收的问题,把任务节点给回收了。然后
服务节点就重启不了,问了一下大佬说是把IIS设置为不休眠不回收就好。但是具体怎
么弄我还没研究,会的朋友可以留言教我一哈。在此谢过了...
眼看挂在IIS上是不行了,这时候有个大佬给了我一个解决办法,使用NSSM把项
目封装成服务发布到Windows服务上。NSSM是一个服务封装程序,它可以将普通exe
程序封装成服务,使之像Windows服务一样运行,这样就算节点挂掉了也可以立马重启。
具体步骤如下:
1、下载NSSM:https://nssm.cc/release/nssm-2.24.zip
2、根据自己的平台,将32/64位nssm.exe文件解压至任意文件夹
3、cmd定位至nssm.exe所在目录,如下所示
4、输入 nssm install {服务名称},即注册服务的名称。注册服务弹出如下NSSM界面。
5、Application标签设置:
Application Path: 选择系统安装的exe。
Startup directory: 选择exe项目的根目录。
Arguments: 输入启动参数
6、上述步骤操作完成,即可点击Install service来注册服务。
7、在系统服务中找到刚注册的服务,右键 属性 - 恢复 即可设置此服务挂掉重启等内容。