Nginx学习笔记2--(极客时间-陶辉)
2019-04-20 00:41
274 查看
1⃣️ nginx进程结构
nginx是多进程结构模型,由master作为父进程,启动多个子进程,通过信号管理。
-
Master进程
<< 监控worker进程:CHLD(子进程终止的时候会向父进程发送CHLD信号,Master进程接受后可以立刻拉起wroker进程)
<<管理worker进程,可以接受的信号
****TERM,INT : 立刻停止
****QUIT :优雅停止
****HUP :从载配置文件
****USR1 :从新打开日志文件
****USR2 :平滑升级可执行程序
****WINCH :从容关闭工作进程 -
Worker进程
Worker进程也可以接受上面4个进程,一般都是对Master进程发送信号,Master进程再向Worker进程发送信号 -
nginx命令行(各命令对应的信号)
reload:HUP(用kill直接发送信号)
reopen:USR1
stop:TERM
quit:QUIT
🌟nginx的Master进程的PID会记录在logs目录的nginx.pid文件中。
🌟worker进程优雅的关闭,主要针对的是HTTP请求。代理websocker协议,TCP,UDP层的时候不能优雅推出。
- 设置定时器 worker_shutdown_timeout
- 关闭监听句柄 :保证要关闭的进程不再处理新的连接
- 关闭空闲连接 :为了利用最大化,会保存一些空闲的连接,这时会被关闭。
- 在循环中等待全部连接关闭:每发现一个请求处理完毕就会把这个连接关闭。超过设置的worker_shutdown_timeout的时间,会立即退出。
- 退出进程
2⃣️ Nginx Reload流程
不停止服务,平滑升级。
3⃣️ 热升级流程
只替换binary文件。
老的Master进程一直存在。
相关文章推荐
- Nginx学习笔记4--(极客时间-陶辉)
- Nginx学习笔记5--(极客时间-陶辉)
- Nginx学习笔记3--(极客时间-陶辉)
- “得到”和“极客时间”功能对比分析:如何做“好好学习”的笔记功能?
- python 学习笔记 13 -- 经常使用的时间模块之time
- nginx 学习笔记(一)nginx 编译安装
- 【学习笔记】python版希尔排序及其时间复杂度分析
- Python学习笔记9:标准库之日期时间(time包,datetime包)
- js学习笔记9----时间操作
- [离散时间信号处理学习笔记] 11. 连续时间信号的采样与重构
- 学习笔记二之文件与时间编程
- Nginx学习笔记:反向代理+负载均衡
- nginx 源码学习笔记(一)——初识nginx helloworld模块
- 关于时间格式的学习笔记
- Ruby学习笔记_正则表达式,获取系统时间,替换字符
- nginx 学习笔记(三)基本数据结构
- nginx 源码学习笔记(十一)——基本容器——ngx_list
- 学习笔记-linux中的时间管理
- 第三章-----Nginx 架构初探(学习笔记)
- 流媒体技术学习笔记之(一)nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器