Nginx 不停机平滑升级方式

查看原版本安装使用参数

nginx -V

下载新版Nginx

官方下载链接

编译新编Nginx

  1. 配置 ./configure 启动参数 例如 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module
  2. 编译 make -j 8

更换nginx版本

  1. 备份旧版本,进入nginx安装目录,一般为 /usr/local/nginx/bin mv nginx nginx.oldbak
  2. 复制新版 mv 新版nginx编译目录/objs/nginx /usr/local/nginx/bin

平滑重启

1
2
3
4
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep 1
test -f /usr/local/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

检查升级结果

ps -ef|grep nginx显示时间应为当前时间