美文网首页
nginx负载均衡与健康检查

nginx负载均衡与健康检查

作者: webjiacheng | 来源:发表于2018-06-30 18:59 被阅读0次

    由于考虑到当请求量很大时,需要用到分布式部署服务,但是随之而来又带来了一个问题就是,万一那台机器停止了服务时,改如何自动切换达到服务高可用呢?网上看了下文章,大家都才用nginx来进行实现,以下是本人的nginx配置示例:

    //配置文件地址 ${root}/nginx/conf/nginx.conf
    #user  nobody;
    worker_processes  1;
    
    #pid        logs/nginx.pid;
    
    events {
        worker_connections  1024;
    }
    
    http{
        upstream  myserver {
        server 127.0.0.1:7001  weight=1  max_fails=3  fail_timeout=20s;
        server 127.0.0.1:7002  weight=3  max_fails=3  fail_timeout=20s;
        #定义后端服务器,权重3,失败3次后暂停服务20s
        }
        server  {
            listen 80;
            server_name www.domain.com;
            index   index.html;
            root  /WWW;
            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        # 停止将请求发送给下一台后端服务器
    

    相关文章

      网友评论

          本文标题:nginx负载均衡与健康检查

          本文链接:https://www.haomeiwen.com/subject/owqxuftx.html