zoukankan      html  css  js  c++  java
  • nginx 信号量

    简述

    nginx 实际上上通过信号量去控制进程的,平时所有的关闭、重启等操作的原理都是通过不同的信号发送给nginx 主进程来完成的。

    信号量

    TERM, INT             Quick shutdown     (强制关闭,暴力操作,正常进行的请求突然中断)
    
    QUIT            Graceful shutdown (优雅关闭,会在请求处理完成之后,自动关闭) HUP             Configuration reload
    Start the new worker processes with a new configuration Gracefully shutdown the old worker pro cesses (优雅的重新加载配置文件,如果修改完配置文件,需要重启的话,可以使用这个信号量,使用该信号量重启并不会关闭进程和中断请求)

    USR1              Reopen the log files
    (重写一个日志文件)

    USR2              Upgrade Executable on the fly
    (升级执行文件)

    WINCH              Gracefully shutdown the worker processes
    (优雅的关闭工作进程)

    实际应用

    1、 kill  -HUP/INT/..  pid(nginx master)

    2、 ../sbin/nginx -s  reload 等效于 kill -HUP pid  #加载新的配置,master 进程不变,逐步停止没有请求的work启动新的worker进程。

    3、 kill      -USR1  pid     重新打开日志文件,日志备份时使用。(由于linux 中是通过inode 识别文件的,所以即使重命名文件名字变了但是inode 不变。日志备份把旧日志改名为access.log.bak后新建一个access.log ,发送USR1信号nginx 进程就会关闭正在打开写入的文件,重新写入新的access.log)

    4、USR2与WINCH        当需要把正在运行的nginx 进程平滑升级的时候配合使用

    5、nginx pid  一般主配置文件会配置它保存在 ../logs/nginx.pid中,nginx 启动脚本在关闭nginx 时候会删除此文件,启动的时候生成此文件,根据此文件判定是否启动。

  • 相关阅读:
    软件工程个人作业01
    阅读计划及浅读问题
    引言作业1
    多态和异常分析课后
    大道至简七八章阅读
    接口与继承 课后实践
    构建执法阅读笔记02
    冲刺第五天
    学习进度条七
    冲刺第四天
  • 原文地址:https://www.cnblogs.com/fanggege/p/12386004.html
Copyright © 2011-2022 走看看