Nginx 在windows下注册系统服务

Nginx在windows下注册系统服务

image.png

在Windows服务器上运行了Nginx,那么肯定会面临一个问题,那就是重启了怎么办,网站访问不了,每次手动启动很麻烦。然而Nginx作为Linux的一款软件,在Windows下面注册成服务还是比较麻烦的,参考了网上的资料,现目前无外乎有两种方式。

第一种是使用Windows Service Wrapper(强烈推荐,原因在本文最下面)

1、下载工具

下载地址:https://github.com/winsw/winsw/releases,如下载WinSW-x64.exeimage.png

2.文件存放及更名

将下载的WinSW-x64.exe重命名为'myapp.exe'<或者直接不改名,还为WinSW-x64.exe| 但是这个名必须与下面的xml文件名对应!>,并将其放到D:\WebSites\000.NGINX\目录下

3.创建xml文件

新建一个文本文档内容如下:(里面的路径根据自己的情况修改)

<service>
  <id>Nginx</id>
  <name>Nginx Service</name>
  <description>NGINX is the popular and high-performance web server used at millions of websites worldwide.</description>
  <executable>D:\WebSites\000.NGINX\nginx.exe</executable>
  <executable>D:\WebSites\000.NGINX\nginx.exe</executable>
  <logpath>D:\WebSites\000.NGINX\logs</logpath>
  <executable> D:\WebSites\000.NGINX\nginx.exe</executable>

//以下四条信息可省略。。测试时带着报错。。
  <logmode>roll</logmode>  
  <depend></depend>  
  <startargument>-p D:\WebSites\000.NGINX\nginx start</startargument>  
  <stopargument>-pD:\WebSites\000.NGINX\nginx stop</stopargument>  
</service>

保存为myapp.xml或者保存为WinSW-x64.xml文件,同样放到D:\WebSites\000.NGINX\目录下。

image.png

4.运行cmd执行如下命令:(路径根据自己的情况修改)

D:\WebSites\000.NGINX\myapp.exe installimage.png

5.进入系统服务就能看见 nginx了。(完成)image.png


第二种是 instsrv / servany 方式。

1.工具下载地:http://eastedu.bl-changjiang.com/UploadFiles/2006-5/511179043.rar

2.解压后把srvany.exe复制到nginx目录下

3.运行cmd切换路径到nginx目录下,并执行下面的命令:

instsrv Nginx c:\nginx\srvany.exe

4.在nginx目录下编辑一个nginx.reg的文件

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NGINX\Parameters]

"Application"="C:\nginx\nginx.exe"

"AppParameters"=""

"AppDirectory"="C:\nginx\"

5.让服务与程序关联起来, 命令行执行

regedit /s nginx.reg

6.编辑启动nginx脚本start-nginx.bat(关闭脚本不用变), 让程序以服务方式运行

@ECHO

OFF net stop nginx

net start nginx

EXIT

推荐第一种的原因:如果采用第二种方式,启动服务后,nginx会创建两个进程,当停止服务时,还有一个进程没有关闭。这就是很多人遇到的关闭服务后,任然可以访问网站。此时必须使用 taskkill /F /IM nginx.exe > nul命令来清理掉所有进程,才能彻底关掉。而第一种不会出现这样的问题。


参考:使用instsrv.exe+srvany.exe将应用程序安装为windows服务的方法

一、什么是instsrv.exe和srvany.exe

instsrv.exe.exe和srvany.exe是Microsoft Windows Resource Kits工具集中 的两个实用工具,这两个工具配合使用可以将任何的exe应用程序作为window服务运行。srany.exe是注册程序的服务外壳,可以通过它让应用程序以system账号启动,可以使应用程序作为windows的服务随机器启动而自动启动,从而隐藏不必要的窗口,例如:应用程序控制台等。那么我们肯定想是不是安装srvany.exe就可以完成以上功能了呢?答案是正确的,但是安装srvany.exe需要用到另一个工具instsrv.exe,是的,instsrv.exe的作用就是为了安装srvany.exe工具,这样相信大家明白了instsrv.exe和srvany.exe的作用,下面就简单的介绍如何将exe应用程序做成windows服务。

二、操作步骤

1、获取应用程序

点击下载

2、用instsrv.exe安装srvany.exe

将instsrv.exe和srvany.exe拷贝到"C:\WINDOWS\system32"目录下(如果是64bit系统,则将其拷贝到C:\WINDOWS\SysWOW64),用instsrv.exe安装srvany.exe,进入dos界面:

C:\Documents and Settings\administrator>C:\WINDOWS\SysWOW64\instsrv.exe MyService C:\WINDOWS\SysWOW64\srvany.exe

注:Myservice是自定义的服务的名称,可以根据应用程序名称任意更改。

3、对srvany.exe进行配置

点击"开始-运行-regedit"打开注册列表,定位到以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService

MyService是你安装srvany.exe时定义的名称。
一般情况下该服务名下没有Parameters项目,需要手动建立:对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。
下面以一个简单的小程序配置实例说明:image.png

配置完成后,验证服务如下:

image.png

至此,使用instsrv.exe+srvany.exe将应用程序安装为windows服务介绍完毕,如果大家有其他好的建议和方法,还请多多指点,谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WinJayX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值