Nginx在windows注册成系统服务

Nginx好像并不能像tomcat在windows下注册系统服务,然后查阅官方文档才知道当前windows版本的Nginx只是作为一个标准程序运行,而不是一个系统服务, 如果不注册成系统服务,服务器重启(断电、自动更新 etc.)就需要自己手动重启,不然网站、系统均无法访问。想想挺可怕,然后就开始各种谷歌百度找办法解决,过了不知道多久搜索发现可以通过winsw把Nginx注册成一个系统服务。
1.下载 Windows Service Wrapper
在项目主页内找到winsw的下载页面(我用的是2.0.2版本,下面第一个连接,附上其他链接)
http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.0.2/

github地址:https://github.com/kohsuke/winsw/releases
下载地址:https://github.com/kohsuke/winsw/releases
下载地址:https://github.com/winsw/winsw
下载地址:https://github.com/winsw/winsw/releases

下载的文件:winsw-2.0.2-bin.exe


2. 在nginx项目页面下载nginx windows版本

http://nginx.org

把nginx压缩包解压放到指定目录,例如我放的是d盘根目录。特别强调路径不要带空格的,否则会启动失败。

nginx安装目录是:F:\nginx+tomcat\nginx-1.16.1_alter
3. 将winsw-2.0.2-bin.exe复制到nginx目录:F:\nginx+tomcat\nginx-1.16.1_alter,并将其改成nginx-service.exe 

4. 新建一个xml文件nginx-service.xml,名称一定要与上面的.exe上的文件名一致的哦。文件内容如下(亲测有效):

<service>

<id>nginx</id>
<name>nginx</name>
<description>nginx-server</description>

<logpath>F:\nginx+tomcat\nginx-1.16.1_alter\logs</logpath>
<logmode>roll</logmode>

<executable>F:\nginx+tomcat\nginx-1.16.1_alter\nginx.exe</executable>

</service>

5. 运行Windows cmd命令,进入nginx目录:运行nginx-service.exe install将其注册为windws系统服务。当配置错误(就是系统服务中有了但是启动不了)或者是要卸载它的时候运行:nginx-service.exe uninstall

在运行Windows cmd命令,输入services.msc,就可以在系统服务中看到nginx服务,右击启动就可以了,访问http://localhost:8088出现nginx页面,安装成功。

posted @ 2020-04-29 15:26  Kaspar_Choo  阅读(2214)  评论(0编辑  收藏  举报