来源: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. npm下设置NODE_ENV下mac与windows的差异

    linux & mac: export NODE_ENV=production windows:set NODE_ENV=production windows: mac:

  2. webpack不同版本导致的promise不存在问题

    之前采用的axios是基于promise的,但是IE并没有内置promise,所以要提前install一个promise插件: npm install promise import Promise f ...

  3. 『关键点检测』CPN:Cascaded Pyramid Network for Multi-Person Pose Estimation

    论文连接 网络简介 face++2017年coco keypoint benchmark 数据集冠军的文章,发表于CVPR201 1  提出了一种金字塔型的串接模型,即CPN(cascaded pyr ...

  4. DNS及DNS有什么作用

    什么是DNS,DNS有什么作用: DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直 ...

  5. CUDA 例程

    scalar add #include <thrust/host_vector.h> #include <thrust/device_vector.h> #include &l ...

  6. Android流媒体开发之路一:Camera2采集摄像头原始数据并手动预览

    Android Camera2采集摄像头原始数据并手动预览 最近研究了一下android摄像头开发相关的技术,也看了Google提供的Camera2Basic调用示例,以及网上一部分代码,但都是在Te ...

  7. javascript 预解析

    内容来源:http://www.cnblogs.com/TomXu/archive/2011/12/28/2286877.html JavaScript中,你可以在函数的任何位置声明多个var语句,并 ...

  8. hibernate操作mysql插入修改中文出现乱码

    第一步:mysql的安装目录下配置文件my.ini里面的所有default-character-set改成default-character-set = utf8: 第二部:建立数据库时候字符集选项选

  9. .net core WebApi Monitor实现并发同步

    在.net中,还可以使用Monitor实现线程并发同步.Monitor类是纯托管且完全可移植,并且可能会在操作系统资源需求方面更加高效. Monitor的锁对象尽可能使用引用对象,如果是字符串或值对象 ...

  10. win10安装Redis方法以及基本配置

    下载 下载地址点击下载地址,然后选择版本进行下载 下载的文件是一个zip压缩文件,解压后目录结构为: 进行安装 进入命令行模式打开Redis的安装目录 执行:redis-server.exe redi ...