zoukankan      html  css  js  c++  java
  • Nginx配置max_fails fail_timeout

    目的: 通过配置max_fails、fail_timeout来达到当一台服务器访问出现非200时可以跳转到另一台服务器
    操作: 配置nginx.conf文件 具体配置如下
    upstream Site
    {
    #ip_hash;
    server localhost1:18080 max_fails=10 fail_timeout=60s;
    server localhost1:28080 max_fails=10 fail_timeout=60s;
    }

    现象:并没有什么用,如果一台服务器挂掉,nginx依然会分发到那台。

    原因:

    max_fails=number 设定Nginx与服务器通信的尝试失败的次数。在fail_timeout参数定义的时间段内,如果失败的次数达到此值,Nginx就认为服务器不可用。在下一个fail_timeout时间段,服务器不会再被尝试。 失败的尝试次数默认是1。设为0就会停止统计尝试次数,认为服务器是一直可用的。你可以通过指令proxy_next_upstream、 fastcgi_next_upstream和 memcached_next_upstream来配置什么是失败的尝试。 默认配置时,http_404状态不被认为是失败的尝试。

    解决办法:
    location /
    {
    proxy_pass http://126.42.32.3;
    proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
    proxy_connect_timeout 20s;
    proxy_read_timeout 20s;
    proxy_send_timeout 20s;
    }

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

  • 相关阅读:
    java判断一个字符串是否包含某个字符
    Java去掉Html标签的方法
    如何转换成utf-8格式的,在jsp页面中正常显示换行
    a标签设置手型
    a标签置灰不可点击
    校验手机号码格式
    用JQuery 判断某个属性是否存在hasAttr的解决方法
    验证手机号码 (包含166和199)
    获取短信验证码倒计时
    Noisy Channel模型纠正单词拼写错误
  • 原文地址:https://www.cnblogs.com/littlewrong/p/11842596.html
Copyright © 2011-2022 走看看