为了避免服务中断,Nginx 的无缝升级流程是通过其 热重启机制 实现的。
1. 准备工作
- 备份当前配置和二进制文件
- 备份现有的 Nginx 配置文件(如
/etc/nginx/nginx.conf
)和二进制文件,以防升级失败时可以快速回滚。
- 备份现有的 Nginx 配置文件(如
- 下载并编译新版本
- 获取 Nginx 的新版本源代码并编译二进制文件。编译时需要保留之前的模块和配置选项(使用
nginx -V
检查现有配置)。 -
./configure --prefix=/usr/local/nginx --with-http_ssl_module ... make
- 注意:不要执行
make install
覆盖旧文件。
- 获取 Nginx 的新版本源代码并编译二进制文件。编译时需要保留之前的模块和配置选项(使用
2. 替换旧的 Nginx 二进制文件
- 停止旧进程前,替换主机上的 Nginx 二进制文件。
- 备份原二进制文件:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
- 替换新版本:
cp ./objs/nginx /usr/local/nginx/sbin/nginx
- 备份原二进制文件: