• nginx重新整理——————热部署和日志切割[三]


    前言

    简单演示热部署和日志切割。

    正文

    什么是热部署了,我们前文也说过了一个编译后的nginx 二进制。

    热部署就是无需停止现有的nginx,替换正在运行的nginx。

    步骤:

    1. 复制nginx 二进制替换掉原先的nginx文件。

    2. kill -USR2 13195 给nginx 发送信号

    这里出现了另外一个master。

    3.发送WINCH信号给旧的master进程,让旧的master进程优雅的退出
    kill -WINCH cat /opt/nginx/logs/nginx.pid.oldbin

    退出woker。

    4.此时如果觉得nginx服务一切正常,就可以干掉旧的master主进程了
    kill -9 cat /opt/nginx/logs/nginx.pid.oldbin

    退出master

    1. 如果替换有问题呢?那么怎么办?
      nginx 回滚:
    cp nginx.old nginx
    

    打开旧的worker进程号:

    kill -HUP 4810
    ``
    其中 pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,请使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。
    
    关闭新的worker:
    

    kill -WINCH 16940

    
    下面介绍一下nginx 的日志切割。
    
    

    LOGS_PATH = /usr/local/optnresty/nginx/logs/histoty
    CUR_LOGS_PATH = /usr/local/openresty/nginx/logs
    YESTEDAY = $(date -d "yesterday" +%Y-%m-%d)
    mv ${CUR_LOGS_PATH }/xxx_access.log ${LOGS_PATH }/xxx_access_${YESTEDAY}.log
    mv ${CUR_LOGS_PATH }/xxx_error.log ${LOGS_PATH }/xxx_error_${YESTEDAY}.log
    kill -USR1 $(cat /usr/local/openresty/nginx/logs/nginx.pid)

    
    这样就可以了,其实后面那个就是nginx -s reopen,从新打开日志。
    
    然后把这个cron 定时任务,比如每天0:00,这样就可以了。
    
    ### 结
    
    下一节静态服务和反向代理。
  • 相关阅读:
    方法参数的传递方式
    方法设计
    接口
    SQL 安装MySQL
    Windows 10 安装 wordpress
    Windows10安装PHP7+Apache 2.4
    做一个增删改查的工程
    清除缓存
    创建POJO
    VI快捷键
  • 原文地址:https://www.cnblogs.com/aoximin/p/15809139.html
Copyright © 2020-2023  润新知