Nginx添加到windows服务

在windows平台,把Nginx注册到服务,又可以启动、停止和重启的方法,网上并没找到好的办法。

既然如此,唯有自己写程序实现了

使用C#进行编写,有兴趣的可以下载源码自己改:源码下载(2017-06-26)、旧版下载(2017-06-23)

或直接下载编译好的程序,需要.net framework 2.0或.net framework 4.0的环境支持

通用版本程序下载(2017-06-26)、Nginx专用版本程序下载(2017-06-23)

通用版本,使用自己定义的bat脚本,实现自定义windows服务,应该可用于绝大多数像nginx等这类不方便使用windows服务的程序

通用版本目录结构及说明:

  MyInstall.bat :安装服务的脚本,用记事本打开,修改"set my=MyService",让my的值为你想要注册的服务名,如“Hello”。

  MyService.bat :这个脚本是服务启动时执行的脚本,可自己实现自己的启动逻辑

  MyService.exe :注册为windows服务的服务程序,通过它来管理实际需要运行的服务程序。

  2.0和4.0目录 :存放的是MyService.exe对应于.net framework 2.0和.net framework 4.0的环境的exe

MyService.exe和MyService.bat文件名必须和MyInstall.bat中配置的服务名一致,如“Hello.exe”、“Hello.bat”

使用通用版本程序安装nginx服务:

  Nginx添加到windows服务时很简单,你可以什么都不改,只需要安装好对应的.net framework环境

  把三个文件复制到nginx.exe的同级目录,双击运行MyInstall.bat进行安装,安装后将会看到服务中增加了一个服务名为“MyService”的服务,即可用它启动和重启nginx服务了。

新增加了一个专门为nginx提供的专用版本的服务,该版本的好处就是不需要另外的脚本支持,即不需要额外的bat脚本配置文件支持的

  MyNginxServiceInstall.bat :安装服务的脚本,用记事本打开,修改"set my=MyNginxService",让my的值为你想要注册的服务名,如“Hello”。

  MyNginxService.exe :文件名即服务名,可修改为你需要注册的服务名,如上面配置为“Hello”,则修改为“Hello.exe”。

  复制MyNginxService.exe和MyNginxServiceInstall.bat至nginx.exe同级目录

  以管理员身份,运行MyNginxServiceInstall.bat进行服务安装。

  本exe依赖.net framework框架,具体版本可复制下载文件里2.0或4.0目录下的同名exe替换

更新:

2017-06-26

移除旧版本中的停止脚本方法,利用windows的父子进程信息,找出所有关联的子进程进行Kill,方便结束大多像java等通过脚本启动的,难关闭的程序。

修改启动脚本文件名,改为和exe同名。

更新源代码zip,作为解决方案,放了两个项目,一个为通用程序,一个为nginx专用程序。

2017-06-23

更新了下启动和结束脚本,程序的版本和文件属性

如果是通过MyStart.bat要再运行另一个bat的,则是:start /B C:\your.bat,其中/B为不启动新的窗口,且MyStart.bat为无窗口模式运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值