繁体   English   中英

nginx如何重新加载? 为什么它是零停机时间

[英]How nginx reload work ? why it is zero-downtime

参考nginx官方文档。 nginx的reload命令用于重新加载配置文件,在进行过程中,服务没有停机时间。

我已经知道它等待已经连接的请求,直到它完成,并停止接受任何新的请求。 这个想法很酷,但它如何处理保持连接? 因为这些长期连接不会关闭,并且会出现持续的请求。

以下是摘要:

http://nginx.org/en/docs/control.html

主进程首先检查语法有效性,然后尝试应用新配置。 如果成功,它将启动新的工作进程,并向旧工作进程发送消息,要求它们正常关闭。

这意味着它将使旧的进程处理未关闭的连接,同时让新进程根据更新的配置工作。 从这个角度来看,与keep-alive的连接与其他未关闭的连接没有什么不同。

在1.11.11之前的版本中,这样的“旧”进程可能会无限期地挂起(根据@Alexey,虽然没有检查过),从1.11.11开始,有一个配置设置控制着这个http://nginx.org/en/文档/ ngx_core_module.html#worker_shutdown_timeout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM