• nginx平滑升级及回滚


    nginx平滑升级及回滚

    1.查看当前nginx版本

    [root@iZ2zehdwq9kcuuz64a2m21Z ~]# /usr/local/nginx/sbin/nginx -V
    nginx version: nginx/1.16.1
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
    built with OpenSSL 1.0.2k-fips  26 Jan 2017
    TLS SNI support enabled
    configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre

    2.下载新版本nginx

    wget http://nginx.org/download/nginx-1.18.0.tar.gz

    3.解压安装编译

    tar -xvf nginx-1.18.0.tar.gz -C /usr/local/
    cd /usr/local/
    cd nginx-1.18.0/
    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre
    make               (不要install,否则会覆盖)

    4.升级新版nginx二进制程序

    当前目录下有objs目录,进入objs目录复制新的nginx到nginx安装目录

    mv /usr/local/nginx/sbin/nginx      /usr/local/nginx/sbin/nginx.bak
    cp objs/nginx     /usr/local/nginx/sbin/

    5.平滑重启nginx

    /usr/local/nginx/sbin/nginx  -t
    查看nginx  pid
    ps -ef | grep nginx
    cat /usr/local/nginx/logs/nginx.pid
    kill -USR2  `cat /usr/local/nginx/logs/nginx.pid`

    如果在版本升级完成之后,没有任何的问题,需要关闭老的master进程的话,只需要发出QUIT信号即可

    kill -QUIT old_master_PID

    6.查看是否更新成功

    [root@iZ2zehdwq9kcuuz64a2m21Z ~]# /usr/local/nginx/sbin/nginx -V
    nginx version: nginx/1.18.0
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
    built with OpenSSL 1.0.2k-fips  26 Jan 2017
    TLS SNI support enabled
    configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre

    7.回滚到旧版本

    之前老的master进程一直存在,如果不手动关闭,它不会自己关闭,正好利用这种设计,在发生问题时,及时回滚到旧版。

    cd /usr/local/nginx/sbin/
    mv  nginx     nginx.bak2
    mv  nginx.bak  nginx
    kill  -USR1  7173

    查看nginx版本

  • 相关阅读:
    C语言笔记
    js学习笔记
    Javascript学习笔记
    Java基础知识
    使用 StackExchange.Redis 封装属于自己的 RedisHelper
    StackExchange.Redis 使用资料
    .NET平台下Redis使用(三)【ServiceStack.Redis学习】
    .NET平台下Redis使用(二)【StackExchange.Redis学习】
    Redis 详解 (一) StackExchange.Redis Client
    .NET中使用Redis
  • 原文地址:https://www.cnblogs.com/haoee/p/15497770.html
Copyright © 2020-2023  润新知