浏览 3.8k

按点赞数排序
按时间排序
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
你可以用一台nginx做负载均衡,然后后面的几台nginx去做反向代理,这种不就相当于nginx代替了F5的角色。这种类似于F5的主备机,只不过没有那么强
可以试试我的开源项目,在 nginx-rtmp-module 的基础上开发的,除了兼容 nginx-rtmp-module 的所有功能,并添加了 http-flv,gop 缓存,json 格式的 stat 数据等功能,还修复了 nginx-rtmp-module 本身的很多缺陷。
GitHub:https://github.com/winshining/nginx-http-flv-module
本网站:https://www.nginx.org.cn/plug/detail/227
微信公众号
加入微信群