zoukankan      html  css  js  c++  java
  • nginx热升级SOP(MT)

    nginx热升级SOP(MT)

    1.备份老的二进制文件
    # mv /usr/sbin/nginx /usr/sbin/nginx.old
    # yum -y install tengine
    2.给老nginx master进程发送USR2及WINCH信号
    # kill -USR2 `cat /var/run/nginx.pid`
    # kill -WINCH `cat /var/run/nginx.pid.oldbin`
    发送USR2 信号后,nginx会启动一组新的master及worker进程,此时,新老worker都会接收处理请求
    发送WINCH信号,通知nginx优雅关闭旧worker进程,此时旧worker不再接收新的请求
    3.观察新的nginx处理请求的状态,例如error log 或者有没有进程产生coredump等。此时ngx_lua提供的shared_dict在切换过程中会被重置,数据会丢失,这部分请注意,可能会产生报警,
    目前线上的stat模块依赖这部分内存,请提前做好周知
    4.若新nginx没有问题:
    # kill -QUIT `cat /var/run/nginx.pid.oldbin`
    若需要回滚:
    # kill -HUP `cat /var/run/nginx.pid.oldbin`
    # kill -QUIT `cat /var/run/nginx.pid`
    或者(会丢弃正在被处理的请求):
    # kill -TERM `cat /var/run/nginx.pid`
    注意,若使用下一种方法(不推荐),请在确保nginx配置文件及ngx_lua代码在升级过程中未改变,否则,可能导致某些init_by_lua阶段的代码不生效,worker及master加载的lua代码不同,所以请在回滚完后reload一遍nginx!!!
    恢复二进制文件
    # mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.new
    # mv /usr/local/nginx/sbin/nginx.old /usr/local/nginx/sbin/nginx

    自用博文.不限传播.欢迎留言.共同进步.
  • 相关阅读:
    202011.19
    202011.18
    202011.17
    202011.16
    202011.14
    jdk的下载和配置
    layui中form表单
    JS中utocomplete
    转:JqueryUI学习笔记-自动完成autocomplete
    JSON.parse()与JSON.stringify()的区别
  • 原文地址:https://www.cnblogs.com/mingetty/p/8548778.html
Copyright © 2011-2022 走看看