我们有一种情况,一个网站开始服务502坏的网关,但似乎没有恢复上游服务器反弹后。 nginx服务器被设置为针对两个上游服务器的代理/负载均衡请求。 看起来数据库服务器将开始获得高负载平均值,导致Web服务器(上游服务器)缓慢地提供内容并超时(根据nginx服务器)。 然后Nginx会服务502,这是有道理的。
奇怪的是,似乎nginx在Web服务器反弹时没有启动,我们必须重新启动nginx才能重新启动服务器。 有没有解决这个问题的好方法? 我正在通过代理设置来查看是否有设置,但没有太多的运气find任何东西。
看看nginx的日志,我们看到的条目就像(只是在这个时间框架中提取三个错误的例子):
2013/06/12 13:53:40 [error] 29840#0: *258391 upstream timed out (110: Connection timed out) while reading response header from upstream, client: nnnn, server: www.example.org, request: "GET / HTTP/1.1", upstream: "http://nnnn:80/", host: "www.example.org" 2013/06/12 13:54:11 [error] 29840#0: *261105 no live upstreams while connecting to upstream, client: nnnn, server: www.example.org, request: "GET /HTTP/1.1", upstream: "http://example_rack/", host: "www.example.org" 2013/06/12 13:54:46 [alert] 29840#0: *261470 stalled cache updating, error:0 while closing request, client: nnnn, server: nnnn:80