用 WinSW 把 Nginx 注册为 Windows 服务,再也不用手动启动了
2026/7/17 21:05:01 网站建设 项目流程

在 Windows 上部署 Nginx,很多人的习惯是每次开机手动双击nginx.exe启动,或者写个批处理丢到启动项里。这种方式不够优雅,机器重启后还容易忘记启动,导致服务中断。

有没有更好的方式?有——用WinSW把 Nginx 注册成 Windows 系统服务,开机自动启动,和 IIS、SQL Server 一样丝滑。


什么是 WinSW?

WinSW(Windows Service Wrapper)是一个开源工具,可以把任意可执行程序包装成 Windows 服务。只需要一个.exe+ 一个.xml配置文件,几条命令搞定。

GitHub 地址:https://github.com/winsw/winsw/releaseshttps://github.com/winsw/winsw/releases

准备工作

1. 下载 WinSW

进入 GitHub Releases 页面,滚动下去下载v2.x 稳定版(推荐 v2.12.0),选择WinSW-x64.exe

2. 重命名并放置文件

将下载的WinSW-x64.exe重命名为nginx-service.exe,放到 Nginx 根目录下,与nginx.exe平级:

D:\nginx-1.28.0\ ├── nginx.exe ├── nginx-service.exe ← WinSW,改名后放这里 ├── logs\ └── conf\

文件名前缀必须和后面的 xml 配置文件一致,WinSW 会自动匹配同名的 xml 文件。

创建配置文件

在同目录下新建nginx-service.xml,内容如下:

<service> <id>nginx</id> <name>Nginx</name> <description>Nginx HTTP Server</description> <executable>D:\nginx-1.28.0\nginx.exe</executable> <logpath>D:\nginx-1.28.0\logs</logpath> <logmode>roll</logmode> <startmode>Automatic</startmode> <stopexecutable>D:\nginx-1.28.0\nginx.exe</stopexecutable> <stoparguments>-s stop</stoparguments> </service>

配置说明:

字段说明
id服务唯一标识,用于命令行操作
name服务显示名称,在服务管理器中可见
executableNginx 可执行文件完整路径
logpathWinSW 日志输出目录
logmoderoll表示日志滚动,避免文件过大
startmodeAutomatic表示开机自动启动
stopexecutable停止服务时执行的程序
stoparguments停止参数,-s stop是 Nginx 的优雅停止命令

此时目录结构变为:

D:\nginx-1.28.0\ ├── nginx.exe ├── nginx-service.exe ├── nginx-service.xml ← 新增 ├── logs\ └── conf\

注册并启动服务

以管理员身份打开 CMD,执行以下命令:

cd D:\nginx-1.28.0 ​ # 注册服务 nginx-service.exe install ​ # 启动服务 net start nginx

注册成功后会看到类似输出:

2026-07-14 20:15:51,397 INFO - Installing the service with id 'nginx'

验证服务状态

Win + R输入services.msc,打开服务管理器,找到Nginx服务,状态为「正在运行」即表示成功。

常用管理命令

# 启动 net start nginx ​ # 停止 net stop nginx ​ # 卸载服务 nginx-service.exe uninstall

总结

整个流程只需三步:

  1. 下载 WinSW,改名为nginx-service.exe放入 Nginx 目录

  2. 同目录创建nginx-service.xml配置文件

  3. 管理员 CMD 执行install+net start nginx

从此 Nginx 和系统服务一样,开机自启、后台运行,再也不用手动维护了。


如果你的服务器上还有其他需要注册为 Windows 服务的程序(比如自己写的 .NET 应用、Redis、MinIO),WinSW 同样适用,换个名字和路径配置即可。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询