离线平滑升级nginx

  1. 进入旧版本nginx启动目录,执行./nginx –V 查看旧版本号及nginx编译参数,configure arguments后为编译参数
  2. 新版本nginx解压后,执行执行./configure(后面跟旧版本的nginx路径+旧版本所编译的参数)
  3. 执行make编译(切记勿执行make install安装)
  4. 进入nginx启动目录
  5. 备份旧nginx文件,执行:mv nginx nginx.old
  6. 执行:cp /usr/local/nginx-1.23.1/objs/nginx ./ ,将新版本中的nginx文件(nginx-1.23.1/objs中)复制到旧nginx路径(如/usr/local/nginx中)。
  7. 执行 ./nginx –t 用新程序加载老文件
  8. ps aux|grep nginx查看旧nginx进程,如进程号为22693:
  9. 执行:kill -USR2 22693向主进程发送usr2信号,nginx会启动一个新的版本的master进程和对应的工作进程
  10. 执行kill -WINCH 22693,旧进程逐步关闭工作进程
  11. 执行kill -QUIT 22693向旧进程发送退出信号
  12. 执行./nginx -V查看nginx版本号,已成功升级。

以上为Nginx平滑升级步骤(服务不中断,升级过程较为麻烦,风险高)

posted @ 2025-08-14 15:59  阿峰博客站  阅读(8)  评论(0)    收藏  举报