来源:nginx.cn

Nginx信号控制

Nginx控制信号

TERM, INT

快速关闭

QUIT

从容关闭

HUP

重新加载,用新的配置开始新的工作进程

USER1

重新打开日志文件

USER2

平滑升级可执行程序

WINCH

从容关闭工作进程

从容停止命令,等待所有请求结束后关闭服务

Ps -ef | grep nginx

Kill -QUIT nginx主进程

Kill -QUIT `cat /usr/local/nginx/nginx.pid`

平滑升级到新的二进制代码

可以在不中断服务的情况下,新的请求也不会丢失,使用新的nginx可执行程序替换旧的(当升级新版本或者添加/删除服务器模块时候)。

1.使用新的可执行程序替换旧的(最好做备份),然后发送USR2(kill -USR2 pid)信号给主进程,主进程将重新命名为他的.pid文件为.oldbin,然后执行新的可执行程序,依次启动新的主进程和新的工作进程;

2.在此时,两个nginx实例会同时运行,一起处理输入的请求。要逐步停止旧的实例,你必须发送WINCH信号给旧的主进程,然后,他的工作进程就将开始从容关闭。

3.一段时间后,旧的工作进程处理了所有已连接的请求后退出,就仅有新的工作进程来处理输入的请求了;

4.在这时,因为旧的服务器还尚未关闭他监听的套接字,所以,通过以下,你扔可以恢复旧的服务器。(当升级失败的时候使用)

  1)发送HUP信号给旧的主进程,他将在不重载配置文件的情况下启动他的工作进程;

  2)发送QUIT信号给新的主进程,要求其从容关闭其工作进程;

  3)发送TERM信号给新的主进程,迫使其退出

  4)如果因为某些原因新的工作进程不能退出,向其发送kill信号

 

nginx 信号的更多相关文章

  1. 从实战出发,谈谈 nginx 信号集

    前言 之前工作时候,一台引流测试机器的一个 ngx_lua 服务突然出现了一些 HTTP/500 响应,从错误日志打印的堆栈来看,是不久前新发布的版本里添加的一个 Lua table 不存在,而有代码 ...

  2. nginx信号

    ps aux | grep nginx #查看nginx进程,要查看nginx的pid,就得使用这个命令查看*********************nginx信号****************** ...

  3. nginx信号及平滑升级

    1.nginx信号 nginx进程处理命令: kill -signals PID PID即nginx进程ID signals的参数解释如下所示: TERM,INT快速关闭进程 QUIT优雅的关闭,如果 ...

  4. nginx 信号管理

    本内容只针对nginx 关闭操作罗列方法技巧,不废话直接写,Nginx的信号控制如下: 1. TERM, INT 强制关闭进程 查看nginx进程ps -aux|grep nginx  root  8 ...

  5. Nginx 笔记与总结(2)信号控制

    开启.关闭.重启 Nginx 官方地址:http://wiki.nginx.org/CommandLine 开启: /usr/local/nginx/sbin/nginx 关闭,用信号控制,语法: k ...

  6. Nginx高性能服务器安装、配置、运维 (4) —— Nginx服务、架构及其信号

    五.Nginx服务.架构及其信号 (1)Nginx服务的查看 1.netstat -antp 查看Nginx是否在80端口运行: 2.ps aux|grep nginx 查看nginx相关进程: 发现 ...

  7. Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级

    1.Nginx 启动与停止 (1)启动方式 启动格式:Nginx可执行文件地址 -c Nginx配置文件地址 /etc/local/nginx/sbin/nginx -c /root/dufy/ngi ...

  8. Nginx网络架构实战学习笔记(一):Nginx简介、安装、信号控制、nginx虚拟主机配置、日志管理、location 语法、Rewrite语法详解

    文章目录 nginx简介 nginx安装 nginx信号控制 nginx虚拟主机配置 日志管理 location 语法 精准匹配的一般匹配 正则匹配 总结 Rewrite语法详解 nginx简介 Ng ...

  9. Nginx reopen reload作用及工作过程

    http://www.iigrowing.cn/nginx-reopen-reload-zuo-yong-ji-gong-zuo-guo-cheng.html Nginx reopen reload作 ...

随机推荐

  1. Vnpy二次开发应用所需图标

    在针对Vnpy二次开发时,很多窗口中需要使用到“小图标” 给大家分享一个UI的专业图标网,上面资源齐全. https://www.iconfont.cn/collections?personal=1

  2. C#时间戳的简单实现

    Introduction: 在项目开发中,我们都经常会用到时间戳来进行时间的存储和传递,最常用的Unix时间戳(TimeStamp)是指格林尼治时间1970年1月1日0时(北京时间1970年1月1日8 ...

  3. Linux出现wrong ELF class: ELFCLASS64

    安装软件时出现问题   ×.so.×:wrong ELF class: ELFCLASS64 ,大致的意思是软件是32位的,需要32位的 ×.so.×动态链接库,而系统是64位的所提供的该 动态链接库 ...

  4. 获取页面定位元素left top

    1原生方法: 第一种方法,比较简单,就是直接通过obj.style.left和obj.style.top,但是有局限性,这种获取的方法只能获取到行内样式的left和top的属性值,不能获取到style ...

  5. 2015-10-12 jQuery4

    十. 直接获取.编辑内容 1.获取内容 alert($("#d1").text());    //获取文本内容 alert($("#d1").html()); ...

  6. js如何在浏览器添加cookie(添加、获取、删除)

    首先,简单用js将cookie保存到浏览器中,具体可按F12在这里查看(火狐浏览器) 1.js脚本方法 1)添加cookie方法 //添加cookie var addCookie = function ...

  7. jquery 获取表单的内容以JSON对象形式返回

    添加一个serializeJson方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&quo ...

  8. Component(组件)

    1.Component是一个模板的控制类用于处理应用和逻辑页面的视图部分. 2.Component时Angular2应用最基础的建筑砖块. 3.任何一个Component都是NgModule的一部分, ...

  9. python之函数入门

    python之函数入门 一. 什么是函数 二. 函数定义, 函数名, 函数体以及函数的调用 三. 函数的返回值 四. 函数的参数 五.函数名->第一类对象 六.闭包 一,什么是函数 函数: 对代 ...

  10. 遇见 TiDB

    遇见 TiDB 文章来源:企鹅号 - 塔塔驿站 最近TiDB掀起了一波分布式数据库的热潮,公司也在着手准备TiDB的落地工作,前几天也参与了几场公司针对TiDB的分享会,下面我们了解一下关于TiDB. ...