• 架构师的成长之路初片~Nginx篇~平滑升级


    进行平滑升级

    1.当前环境

    CentOS-7.x   Nginx:1.12.2

    2.查看当前版本并下载新版本Nginx

    /usr/local/nginx/sbin/nginx -v# nginx version: nginx/1.12.2wget -c http://nginx.org/download/nginx-1.17.6.tar.gz# 下载的版本为nginx-1.17.6

    3.开始平滑升级

    tar -xzf nginx-1.17.6.tar.gz# 解压源码包cd nginx-1.17.6

    ./configure --with-stream --with-http_stub_status_module --with-http_ssl_module

    make# 执行编译,切记不要安装也就是不要去执行 make install

    对Nginx执行文件进行更新

    cd /usr/local/nginx/sbin

    # 进入nginx的执行文件目录内

    mv nginx nginx.old

    # 将旧版本Nignx执行文件备份为nginx.oldcp /root/nginx-1.17.6/objs/nginx .

    # 将新版本Nginx执行文件移动到当前目录内

    进行平滑重启

    /usr/local/nginx/sbin/nginx -t

    # 检测新版本Nginx是否正常 正常为 successful

    ps   -ef   |  grep nginx

    # 查看旧版本nginx进程

     kill -USR2 4846# 向主进程发送USR2信号,Nginx会启动一个新版本的master进程和工作进程,和旧版一起处理请求

     此时再次查看Nginx进程就发现有俩Nginx在工作  ^^

     kill -WITCH 4846# 向原Nginx主进程发送WINCH信号,它会逐步关闭旗下的工作进程(主进程不退出),

      这时所有请求都会由新版Nginx处理kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin

    `# 杀死旧版本Nginx主进程或者 kill -9 4846 也可以/usr/local/nginx/sbin/nginx -v

    # ouput:nginx version: nginx/1.17.6

    kill -WITCH 4846

    # 向原Nginx主进程发送WINCH信号,它会逐步关闭旗下的工作进程(主进程不退出),这时所有请求都会由新版Nginx处理

    kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

    # 杀死旧版本Nginx主进程或者 kill -9 4846 也可以/usr/local/nginx/sbin/nginx -v

    # ouput:nginx version: nginx/1.17.6

    完成以上操作代表升级完成

    总结:在平滑升级的过程中,切记编译完后不要   make install   (安装)

    在升级的过程中,切记尽量不使用 kill  -9  这个命令。

  • 相关阅读:
    第46课.继承中的构造与析构
    第45课.不同的继承方式
    第44课.继承中的访问级别
    第43课.继承的概念和意义
    [文件系统]文件系统学习笔记(三)---目录项缓存dentry
    [文件系统]文件系统学习笔记(二)---task_struct
    [文件系统]文件系统学习笔记(一)---基本概念以及inode
    [Linux]进程(十二)--task_struct结构体
    [Linux]进程——用户态编程相关
    [linux]进程(十一)——进程权能
  • 原文地址:https://www.cnblogs.com/ahaocloud/p/14645844.html
Copyright © 2020-2023  润新知