Nginx负载均衡之健康检查

本文介绍了一个具体的负载均衡实例配置,展示了如何通过设置后端服务器的权重和故障转移策略来实现服务的高可用性。同时详细解释了健康检查机制,包括在哪些情况下会触发请求转发至下一个后端服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

负载均衡实例

http{
    upstream  myserver {
    server 10.10.10.1  weight=3  max_fails=3  fail_timeout=20s;
    server 10.10.10.2  weight=3  max_fails=3  fail_timeout=20s;
    #定义后端服务器,权重3,失败3次后暂停服务20s
    }
    server  {
        listen 80;
        server_name www.domain.com;
        index   index.html;
        root  /date/web
        location  /  {                      # 配置健康检查
            proxy_pass http://myserver;
            proxy_next_upstream http_500 http_502 error timeout
            invalid_header;
            # 当出现以上状态码时,转发给下一台服务器
        }
    }
}

健康检查

指定在何种情况下一个失败的请求应该被发送到下一台后端服务器:

error      # 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现错误
timeout    # 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现超时
invalid_header  # 后端服务器返回空响应或者非法响应头
http_500   # 后端服务器返回的响应状态码为500
http_502   # 后端服务器返回的响应状态码为502
http_503   # 后端服务器返回的响应状态码为503
http_504   # 后端服务器返回的响应状态码为504
http_404   # 后端服务器返回的响应状态码为404
off        # 停止将请求发送给下一台后端服务器

需要注意一点的是,只有在没有向客户端发送任何数据以前,将请求转给下一台后端服务器才是可行的。也就是说,如果在传输响应到客户端时出现错误或者超时,这类错误是不可能恢复的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值