nginx(八十五)nginx的启动流程

一   如何控制nginx

①  基础知识

kill -l信号列表   信号列表

②  控制nginx

场景1: 不'断连',优雅'reload'加载'新'的配置文件  

涉及: 'nginx -s reload'、'kill -HUP $master_pid '、'kill -1 $master_pid'

场景2: 日志'切割'

涉及: 'nginx -s reopen'、'kill -USR1 $master_pid'、'kill -10 $master_pid'

场景3: 动态更新'nginx可执行'文件

核心'涉及': 'USR2'、'12'
​
强调: 不管是'哪种'方式,'本质'还是操作'主进程id'

nginx热更新涉及的信号量

+++++++++++++ "HUP、reload细讲" +++++++++++++

思考1: reload不'生效'场景?    --> 也即'必须restart'  --> 涉及'哪些'指令?

思考2: reload之前的'缓存'是否会失效?

reload流程

细节点:

  [1]、在启动新的worker子进程以后,master进程会向'老的'worker子进程发送'QUIT'信号;

  备注: QUIT信号是'优雅'的关闭子进程

  [2]、nginx保证'平滑'升级,如何做到'不断连'

  备注:所以它一定要'先启动新'的worker子进程,再向'老的worker'子进程发送'QUIT'信号;

1) 现象1:nginx的'worker进程的数量'变多了  --> '暂时'

2) 现象2:reload'不释放',内存'溢出'       --> '原因'和'解决策略'

 原因:

  [1]、'异常'的情况下,比如说一些请求出问题了,客户端'长时间'没有处理

  [2]、就会导致这个请求'长时间占用'在这个worker子进程上面,而这个worker子进程会'一直'存在

  现象: 存在大量的'worker process is shutting down'

  影响: 只会影响'已经存在的连接'而不会影响新的连接

 解决策略: worker_shutdown_timeout 表示最长会'等待多长'时间退出

 工作机制: 

  [1]、master进程在启用'新的worker子进程'以后,它会加一个定时器worker_shutdown_timeout

  [2]、定时器到期了以后,如果'旧worker子进程'还没有退出,就会强制把旧worker子进程给'退出'

nginx: worker process is shutting down 资源不释放

nginx 代理 'websocket 协议'或'tcp层或者udp层'反向代理的时候,无法优雅地关闭'worker'进程

reload的热部署和日志切割 

+++++++++ "热更新失败后如何回退" +++++++++

从压测碰到的诡异断连问题聊聊nginx的连接管理 

③  nginx命令行参数

二   nginx的启动流程

①  学习目的

目的1: 深入理解'openresty'的master和worker和进程的'初始化'

1)init_by_lua        init_by_lua_block       init_by_lua_file -->'master初始化'

2)init_worker_by_lua init_worker_by_lua_block  init_worker_by_lua_file 

目的2: 掌握'reload|restart|start' 对'master、worker'进程'init初始化'和'缓存的'影响

②  nginx启动退出时的回调方法

1) init_module  --> 一定是'解析完'nginx.conf配置文件,在'master进程中'调用

2) init_process --> init_by_worker_xxx指令,就是'在worker进程'中调用

常见:取'进程id'有'不同'的结果

重点:可以'深入的理解'openresty的'上述'指令
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值