【windows】nginx如何注册为开机自启的服务(WinSW实现)

1. ‌下载 WinSW‌

访问官方 GitHub 发布页:
https://github.com/winsw/winsw/releases

下载最新稳定版(如 WinSW-x64.exe),建议重命名为 nginx-service.exe,便于识别。

复制代码
# 示例:将下载的文件重命名
mv WinSW-x64.exe nginx-service.exe

WinSW 是单文件可执行程序,无需安装,直接使用。

2. ‌创建配置文件 nginx-service.xml‌

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

html 复制代码
<service>
  <id>nginx</id>
  <name>Nginx Web Server</name>
  <description>High-performance web server with reverse proxy capabilities</description>

  <executable>C:\nginx\nginx.exe</executable>
  <workingdirectory>C:\nginx</workingdirectory>
  <logmode>rotate</logmode>

  <onfailure action="restart" delay="10 sec"/>
  <resetfailure>1 hour</resetfailure>

  <startmode>Automatic</startmode>
  <stopmode>Automatic</stopmode>

  <logpath>C:\nginx\logs</logpath>
  <logmode>roll</logmode>
  <depend>Tcpip</depend>
</service>

关键配置说明:

<id>:服务唯一标识符(必须唯一)

<executable>:Nginx 主程序路径(请确保路径正确)

<workingdirectory>:工作目录,确保 Nginx 能正确加载配置
<startmode>Automatic</startmode>:‌实现开机自启的核心配置‌
<logpath>:指定日志输出目录,便于排查问题

3. ‌安装服务‌

以‌管理员身份‌打开命令提示符(CMD)或 PowerShell,执行:

javascript 复制代码
cd C:\nginx
nginx-service.exe install

成功后会输出:Service installed successfully.

4. ‌启动服务并验证‌

yaml 复制代码
net start nginx
sc query nginx

检查状态是否为 RUNNING,并打开 services.msc,确认:

yaml 复制代码
服务名称‌:Nginx Web Server
启动类型‌:自动
状态‌:已启动

访问 http://localhost,确认页面正常加载。

5. ‌卸载服务‌

yaml 复制代码
nginx-service.exe uninstall

日志与故障排查

WinSW 会自动生成日志文件在 C:\nginx\logs\ 目录下,文件名为:

nginx-service.out.log:标准输出

nginx-service.err.log:错误输出

若服务无法启动,请检查:

Nginx 配置是否正确:

yaml 复制代码
C:\nginx\nginx.exe -t

路径是否包含空格或中文?建议使用 C:\nginx 这类简洁路径。

是否以管理员身份运行 install 命令?

相关推荐
好名字更能让你们记住我3 小时前
vmware虚拟机安装Windows10镜像【超详细图文版】!!!
windows·系统安装·vmware·虚拟机·图文教程
副露のmagic4 小时前
字符串章节 leetcode 思路&实现
windows·python·leetcode
猩猩—点灯4 小时前
部署远程利器-RustDesk
运维·服务器·网络
Java 码农4 小时前
Windows 系统安装 Claude Code 完整教程
windows
biubiubiu07064 小时前
Linux 中 `source` 和 `systemctl daemon-reload` 的区别与踩坑点
linux·运维·服务器
不愿透露姓名的大鹏5 小时前
华为存储新增LUN存储到VMware集群
运维·服务器·华为·vmware·存储
Tattoo_Welkin5 小时前
Docker 入门
运维·docker·容器
xingyuzhisuan5 小时前
4090部署DeepSeek-V3:CPU卸载层数实测指南
运维·深度学习·gpu算力
一目Leizi5 小时前
Burp Suite实战:利用不同响应进行用户名枚举与密码爆破
运维·服务器·安全