• Nginx 平滑升级


    热部署

    (方法一)

    1. 查看原编译参数
    # 升级一般是添加新的模块,或者升级版本,所以要参考以前编译的模块,如果不添加,那么以前的模块就不能使用了
    [root@node3 ~]# /usr/local/nginx/sbin/nginx -V
    nginx version: nginx/1.16.1
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
    configure arguments: --prefix=/usr/local/nginx
    
    1. 预编译/编译/安装
    ./configure --prefix=/usr/local/nginx  --with-http_stub_status_module
    make && make install
    

    3.直接升级

    make upgrade
    

    (方法二)

    1. 编译安装nginx-1.16.1
    yum -y install gcc gcc-c++ pcre-devel zlib-devel    #安装依赖包
    useradd -M -s /sbin/nologin nginx    #添加程序运行用户
    tar -zxvf nginx-1.16.1.tar.gz -C /usr/src/    #解包
    cd /usr/src/nginx-1.16.1/
    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
    make 
    make install    #配置编译并且安装
    /usr/local/nginx/sbin/nginx        #启动nginx服务
    
    1. 查看升级之前的nginx版本,同时获取旧nginx版本的编译参数
    #/usr/local/nginx/sbin/nginx -V
    nginx version: nginx/1.16.1
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
    configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx
    
    1. 编译nginx-1.18.0(只编译不安装)
    tar -zxvf nginx-1.18.0.tar.gz -C /usr/src/    #解包
    cd /usr/src/nginx-1.18.0/
    ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx/ --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-http_realip_module 
    make    #配置编译并且安装
    
    1. 备份旧版本的nginx的执行程序
    mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
    
    1. 替换旧的Nginx的执行程序
    cp /usr/src/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin/
    
    1. 使nginx的旧版本停止接收请求,有Nginx新版本接替,且老进程处理完所有请求,关闭所有连接后,停止
    kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
    
    1. 查看nginx日志目录会生成一个nginx.pid.oldbin文件,存放旧版本nginx 的pid号
    #ls /usr/local/nginx/logs/
    access.log  error.log  nginx.pid  nginx.pid.oldbin
    

    8.查看升级升级后的版本

    #/usr/local/nginx/sbin/nginx -V
    nginx version: nginx/1.18.0
    
    1. 从容关闭旧进程
    kill -QUIT `cat nginx.pid.oldbin`
    
    1. 查看服务运行状态
    netstat -aupt | grep nginx
    getnameinfo failed
    tcp        0      0 *:http                      *:*                         LISTEN      6963/nginx
    
    1. 使用客户端验证Nginx服务是否可以继续访问
  • 相关阅读:
    MFC中小笔记(四)
    MFC中小笔记(三)
    MFC中小笔记
    关于小蜘蛛诞生的坎坎坷坷
    Win32Api程序设计 常用域改变(设定)窗口位置、大小的api
    Win32Api程序设计 注册窗口类
    TCP segment of a reassembled PDU【转】
    计算机网络复习 -- 概念梳理
    指针(pointer) -- (上)
    原来我连真正的调试都不会,每次都是靠编译器(⊙﹏⊙)b
  • 原文地址:https://www.cnblogs.com/it-baibai/p/12913795.html
Copyright © 2020-2023  润新知