美文网首页
Nginx平滑升级

Nginx平滑升级

作者: Ke爺 | 来源:发表于2017-11-09 20:31 被阅读108次

    Nginx-1.6.2升级到Nginx-1.7.2

    • 查看目前nginx的相关配置
    # /usr/local/nginx/sbin/nginx -V
    nginx version: TWS
    built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
    TLS SNI support enabled
    configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    
    • 下载需要更新的Nginx源码包
      wget -c http://nginx.org/download/nginx-1.7.2.tar.gz

    • 解压并编译
      cd /usr/local/src/
      tar zxvf nginx-1.7.2.tar.gz
      配置的内容与原版本保持一致
      ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
      配置完成后只需要执行make,切忌不可执行make install

    • 备份旧版本的nginx
      cd /usr/local/nginx/sbin/
      mv nginx nginx.old

    • 同步新版本的nginx
      cp /usr/local/src/nginx-1.7.2/objs/nginx /usr/local/nginx/sbin/

    • 测试新版本配置
      /usr/local/nginx/sbin/nginx –t

    • 平滑重启升级Nginx
      kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

    旧版本Nginx的pid变为oldbin,这是旧版本和新版本的nginx同时运行,过一段时间等就nginx处理完用户请求

    • 从容关闭旧版本的Nginx进程
      kill -WINCH `cat /usr/local/nginx/log/nginx.oldbin`

    • 决定是否升级到新版的nginx
      kill –HUP `cat /usr/local/nginx/log/nginx.oldbin`##nginx在不重载配置文件启动工作进程
      kill –QUIT `cat /usr/local/nginx/log/nginx.oldbin` ##关闭旧版nginx
      验证nginx是否升级成功

    • 成功升级
      /usr/local/nginx/sbin/nginx –V ###显示新版本则升级成功

    相关文章

      网友评论

          本文标题:Nginx平滑升级

          本文链接:https://www.haomeiwen.com/subject/evlmmxtx.html