浏览 967
按点赞数排序
按时间排序
reload过程会创建一个新的ngx_cycle对象,加载配置完成后就把老的old_cycle和内存都删除了,源码可参考ngx_init_cycle。master进程的工作是独立的,与worker进程没有关系。worker进程的工作方式就是不关闭长连接,避免对用户体验造成影响,可以用指令worker_shutdown_timeout设置超时时间。如果master进程内存增长,可以用一些分析工具看看,也许是某些模块的原因。
0
回答于2021-08-30 11:12
reload的过程的是这样的:
1. 启动worker_process个新nginx worker进程,这些进程使用新的配置
2. 旧nginx的worker 进入shutting down模式,不再接受新的请求(此时worker实际上翻倍了)
3. 旧worker处理完后会自动关闭
可以设置worker_shutdown_timeout来给旧worker一个超时来强制中断TCP连接,关闭旧worker
0
回答于2021-08-25 11:04