在windows平台,把Nginx注册到服务,又可以启动、停止和重启的方法,网上并没找到好的办法。
既然如此,唯有自己写程序实现了
使用C#进行编写,有兴趣的可以下载源码自己改:源码下载(2016-10-27)
或直接下载编译好的程序,需要.net framework 2.0或.net framework 4.0的环境支持
下载:程序下载(2016-10-27)
功能说明,使用自己定义的bat脚本,实现自定义windows服务,应该可用于绝大多数像nginx等这类不方便使用windows服务的程序
目录结构及说明:
install.bat :安装服务的脚本,用记事本打开,修改"set my=NginxService",让my的值为你想要注册的服务名,如“Hello”。至于别的设置,注册后去服务改就行了
mystart.bat :这个脚本是服务启动时执行的脚本,可自己实现自己的启动逻辑
mystop.bat :这个脚本是服务停止时执行的脚本,可自己实现自己的停止逻辑
NginxService.exe :这个文件名是需要修改的,即修改为你需要注册的服务名,如上面配置为“Hello”,则修改为“Hello.exe”,至于为什么,详见源码逻辑。
2.0和4.0目录 :存放的是NginxService.exe对应于.net framework 2.0和.net framework 4.0的环境的exe
Nginx添加到windows服务时很简单,你可以什么都不改,只需要安装好对应的.net framework环境
把四个文件复制到nginx.exe的同级目录下,双击运行install.bat进行安装,安装后将会看到服务中增加了一个服务名为“NginxService”的服务,即可用它启动和重启nginx服务了。
有时候解决问题的方式就如此简单。