关于nginx日志出现大量no live upstreams while connecting to upstream
- 由于修改了upstream上的server配置,增加了max_fails,fail_timeout,weight这个三个参数项,导致nginx错误日志大量输出如下类型的错误.
- 其问题首先排除是和客户端有关,客户端都是以http访问的,那么,问题就出现在nginx和后端api连接交互出现了问题.检查了nginx的配置,配置都是没有问题的.
- 查看该错误的解释可以得到的结果是upstream中没有可以提供服务的server,但是,我直接访问后端的server确是可以使用的,证明server端可用.
- 最后查找文档,发现问题出现在业务上要求保持会话,但是nginx到api并没有保持会话,那么,nginx当然就找不到后端可用server,就会报no live upstream.具体详细原理解释参考下面文档 .
参考文档 - 修改nginx的配置