Windows 系统 Nginx 1.24 → 1.28 完整升级指南
Windows 下 Nginx 为绿色免安装程序,升级核心是备份现有文件→停止服务→替换新版程序→验证配置→重启服务,全程操作简单、风险可控,以下是分步详细流程。
一、升级前准备
1. 确认当前版本与安装路径
以管理员身份打开 CMD/PowerShell,进入 Nginx 安装目录(示例:C:\nginx),执行命令查看版本:
bash
nginx -v
# 预期输出:nginx/1.24.x
记录安装路径,避免后续文件替换错误。
2. 完整备份旧版本文件
这是升级失败快速回滚的关键,必须执行:
- 复制整个 Nginx 安装目录,重命名为
nginx_1.24_backup(如C:\nginx_1.24_backup) - 单独备份核心配置与数据目录:
- 配置文件:
conf/nginx.conf及所有自定义.conf文件 - 网页文件:
html/目录 - 日志文件:
logs/目录(可选,建议保留)
- 配置文件:
3. 下载官方稳定版 1.28
访问 Nginx 官方下载页,获取 Windows 稳定版压缩包,拒绝第三方修改包:
-
下载文件:
nginx/Windows-1.28.0(或最新 1.28.x 稳定版),对应链接:https://nginx.org/download/nginx-1.28.0.zip -
校验文件完整性(可选,推荐):
bashcertutil -hashfile nginx-1.28.0.zip SHA256核对结果与官网公布的 SHA256 值一致,确保文件未篡改。
4. 解压新版文件
将下载的 .zip 解压到临时目录 (如 C:\nginx_temp),不要直接覆盖旧目录,方便对比文件。
二、核心升级步骤
1. 停止当前 Nginx 服务
两种停止方式,二选一即可:
-
命令行停止(推荐):
bash# 进入旧版安装目录 cd C:\nginx # 优雅停止服务 nginx -s stop -
服务方式停止(若注册为 Windows 服务):
bashnet stop nginx
执行后验证进程是否完全关闭:
bash
tasklist /fi "imagename eq nginx.exe"
无输出则进程已停止,若残留进程,手动结束任务。
2. 替换程序文件(保留配置)
采用保留自定义配置、仅替换程序文件的方式,避免配置丢失:
- 从临时解压目录(
C:\nginx_temp)复制以下核心程序文件:nginx.exe(主程序,必换)nginx.pdb(调试文件,可选)
- 粘贴到旧版 Nginx 安装目录,覆盖同名文件
- 保留原有
conf/、html/、logs/目录,不替换,直接沿用旧配置。
3. 验证配置文件兼容性
新版本可能存在配置指令微调,启动前必须校验配置语法:
bash
cd C:\nginx
# 测试配置文件语法
nginx -t
出现 nginx: configuration file C:\nginx\conf\nginx.conf test is successful 即为正常;若报错,根据提示修改配置,或回退到备份的旧配置文件。
4. 启动新版 Nginx 服务
两种启动方式,二选一:
-
命令行启动(推荐):
bashstart nginx -
服务方式启动(已注册服务):
bashnet start nginx
5. 验证升级成功
-
查看版本号,确认已更新:
bashnginx -v # 预期输出:nginx/1.28.0 -
验证服务可用性:浏览器访问
http://localhost(或你的站点域名),能正常打开页面即升级完成。 -
查看模块完整性:
bashnginx -V确认
http_ssl_module、http_v2_module等常用模块正常加载。
三、异常处理与回滚方案
1. 常见问题解决
- 启动失败、端口占用:检查 80/443 端口是否被其他程序占用,关闭冲突程序后重启
- 配置报错:对照 Nginx 1.28 官方变更日志,修改不兼容指令,或直接使用备份的旧配置文件
- 进程无法停止:打开任务管理器,手动结束所有
nginx.exe进程后重新操作
2. 快速回滚步骤
若新版运行异常,立即回退到 1.24 版本:
- 停止新版 Nginx 服务
- 删除当前安装目录的
nginx.exe等程序文件 - 从备份目录
nginx_1.24_backup复制所有文件,覆盖当前目录 - 启动旧版服务,验证服务恢复正常
四、升级注意事项
- 生产环境优先在测试环境完成升级验证,确认配置、模块、业务功能兼容后再操作
- Windows 版 Nginx 不支持 Linux 下的
USR2/WINCH平滑升级信号,需停止服务后替换,建议在业务低峰期操作 - 升级后保留备份目录至少 7 天,确认业务无异常后再删除
- 若使用第三方模块,需确认模块与 1.28 版本兼容,必要时重新编译对应模块