使用winsw把nginx注册为windows系统服务实现自动启动

Nginx 是一款轻量级的Web服务器/反向代理服务器,特点是占有内存少,并发能力强。我的项目就用它作为前后端分离项目中前端静态文件的服务器。本文就是介绍使用 winswnginx 注册为windows服务器的系统服务,实现自启动。可以在服务器重启后自己启动,无需人工干预操作,提高了项目的稳定性。

安装nginx

第一步当然是安装 nginx。点击链接找到所需要的windows版,下载后解压。

下载winsw

下载winsw,然后把下载好的文件复制到刚刚 nginx 解压好的文件夹里(要和 nginx.exe 文件同级)。
然后新建一个xml 格式的 winsw 配置文件。
配置文件的名称必须和 winsw 文件的名称相同。比如我把 winsw.exe 重命名为 nginx-service.exe 和 配置文件命名为 nginx-service.xml

nginx-service.xml 文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- 其中的 nginx 路径 C:\sangon\nginx-1.12.2 换成你的就好 -->
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx</description>
<env name="path" value="C:\sangon\nginx-1.12.2"/>
<executable>C:\sangon\nginx-1.12.2\nginx.exe</executable>
<logpath>C:\sangon\nginx-1.12.2\logs\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startarguments>-p C:\sangon\nginx-1.12.2</startarguments>
<stoparguments>-p C:\sangon\nginx-1.12.2 -s stop</stoparguments>
</service>

使用

1
2
3
4
5
6
7
# 在nginx文件夹内打开命令窗口cmd

# 安装服务
nginx-service.exe install

# 启动服务
nginx-service.exe start

注意事项

使用 winsw 需要电脑上已经安装了 .NET Framework 功能

Windows Servcie Wrapper(winsw)的命令格式如下:

1
2
3
4
5
6
7
8
# 安装服务
CMD:\> nginx-service.exe install
# 卸载服务
CMD:\> nginx-service.exe uninstall
# 启动服务
CMD:\> nginx-service.exe start
# 停止服务
CMD:\> nginx-service.exe stop