nginx支持的几种信号量,以下几种是主进程可以接受的信号,work进程也可以接收一些信号,但主进程支持的信号worker不一定支持

    sigint,sigterm 立即杀掉nginx主(即所有进程)
    sigquit graceful stop主进程
    sigwinch graceful stop所有的worker进程
    sighub 重新加载配置文件,并使老的worker进程graceful stop
    sigusr1 重新打开目录文件
    sigusr2 在线切换nginx可执行程序

    graceful stop的行为是:进程不再监听,接受新的请求,进程继续处理正在处理的请求,但处理完成后销毁

    具体步骤是:

    1. 重新编译新版本的Nginx,并创建软链接文件,将此Nginx链接到原版本的Nginx执行目录下。
    2. 发送信号量Kill - User2在线切换可执行程序
    3. 为了稳定性,我们先发送信号量Kill -Winch通知工作进程Grateful stop ,待新Worker进程工作没问题时,再通过信号量kill -Quit通知主进程Grateful Stop
    4. 这样就完成了升级

    降级操作

    1. 可以在第3步时如果新Nginx进程有问题,我们可以通过信号量Kill -hub来让旧的nginx重新加载配置文件启动。
    2. 或者执行一遍如上操作进行降级

    https://www.cnblogs.com/f-ck-need-u/p/7658111.html