推荐使用nssm静默安装nginx为windows服务:下载nssm.exe后执行nssm install nginx等命令注册服务,设置自动启动并启动;sc create方式虽轻量但不推荐生产环境,因nginx官方版对scm停止信号支持有限。

在 Windows 环境下,将 Nginx 以 Windows 服务方式静默安装(即无需交互、适合自动化部署),核心是使用 sc create 命令注册服务,并配合 Nginx 自带的 -s install(旧版)或更可靠的手动服务注册方式。注意:官方 Nginx for Windows **不原生支持服务安装**,所谓“服务运行”需借助 Windows Service Control Manager(SCM)托管,且推荐使用第三方封装工具(如 Windows Service Wrapper)或脚本方式实现稳定静默部署。
使用 NSSM(推荐:最稳定静默方案)
NSSM(Non-Sucking Service Manager)是 Windows 下轻量、可靠、专为守护进程设计的服务包装器,支持完全命令行静默安装,无需 GUI 或用户确认。
- 下载
nssm.exe(如nssm-2.24.zip),解压后取win64/nssm.exe(64位系统) - 假设 Nginx 安装路径为
C:\nginx,配置文件为C:\nginx\conf\nginx.conf - 执行以下命令(全部一行,可写入批处理或 PowerShell 脚本):
nssm install nginx --install "C:\nginx\nginx.exe" -c "C:\nginx\conf\nginx.conf" nssm set nginx AppDirectory "C:\nginx" nssm set nginx AppStopMethodConsole 1000 nssm set nginx AppStopMethodWindow 0 nssm set nginx AppExit Default Exit nssm set nginx Start SERVICE_AUTO_START nssm start nginx
完成后 Nginx 即作为自动启动服务运行,可通过 services.msc 查看,日志默认输出到 Windows 事件查看器 → 应用程序日志(来源:NSSM)。
使用 sc create 手动注册(轻量但有局限)
若坚持不用第三方工具,可用 Windows 内置 sc 命令注册服务,但需确保 Nginx 进程能正确响应 SCM 控制信号(Nginx 官方 Windows 版本对此支持有限,不推荐用于生产环境):
- 先停止并卸载已有服务(如有):
sc delete nginx - 注册服务(注意:Nginx 必须以
-p指定前缀,否则可能无法定位配置):
sc create nginx binPath= "\"C:\nginx\nginx.exe\" -p \"C:\nginx\"" start= auto DisplayName= "Nginx Web Server"
- 启动服务:
sc start nginx - ⚠️ 注意:该方式下 Nginx 不会监听 SCM 的 STOP 请求,强制终止服务可能导致 worker 进程残留;建议搭配简单监控脚本做进程清理
配套静默安装脚本要点(.bat 或 PowerShell)
实现真正“一键静默”,需整合解压、配置、注册、启动全流程:
- 用
7z.exe或tar.exe(Win10+ 自带)静默解压 nginx-1.24.0.zip 到目标目录 - 用
echo.或PowerShell -Command "(Get-Content ...) -replace ..."替换默认配置中的端口、root 路径等 - 调用 NSSM 安装命令(如上),并检查
%ERRORLEVEL%判断是否成功 - 最后执行
nssm status nginx验证服务状态
验证与排错提示
安装后快速验证是否生效:
- 访问
http://localhost,应看到 Nginx 欢迎页 - 运行
sc query nginx,State 应为 RUNNING - 查看事件查看器 → Windows 日志 → 应用程序,筛选来源为 NSSM 或 nginx,排查启动失败原因(常见:路径含空格未加引号、配置语法错误、端口被占用)
- 若服务启动后立即退出,用
nssm edit nginx检查 “Service” 页的 “Startup directory” 和 “Arguments” 是否准确
不复杂但容易忽略:所有路径含空格时必须用英文双引号包裹,且 sc create 中的 binPath= 后要留空格,= 两侧不能有空格——这是静默失败的高频原因。











