以下是平滑升级Nginx到最新版本的详细步骤:
- 查看当前版本和配置参数
/usr/local/nginx/sbin/nginx -v
/usr/local/nginx/sbin/nginx -V 2>&1 | grep configure
##备份
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp -r /usr/local/nginx/conf /usr/local/nginx/conf.bak
- 下载最新稳定版
wget https://nginx.org/download/nginx-1.28.0.tar.gz
tar zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0
- 编译新版本(保持原配置)
./configure [粘贴之前获取的配置参数]
make # 注意不要执行 make install
- 替换新程序
cp objs/nginx /usr/local/nginx/sbin/nginx
- 发送升级信号
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
- 验证新进程
ps -ef | grep nginx
/usr/local/nginx/sbin/nginx -v
- 优雅关闭旧进程
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
注意事项:
升级前建议备份整个nginx目录 确保编译环境有所有依赖库(PCRE、OpenSSL等)
使用 nginx -t 测试新配置
查看错误日志:tail -f /usr/local/nginx/logs/error.log
回滚方案:恢复旧二进制文件并重启