目的: 通过配置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

最新文章

  1. cefsharp设置网页接受语言Accept-Language
  2. 将InfoObject作为信息提供者Characteristic is InfoProvider
  3. 创维37K05HR黑屏有声音故障维修
  4. w-WAITING---
  5. JS和JSP的区别
  6. Android微信智能心跳方案
  7. AngularJS $on $broadcast $emit
  8. jquery_核心_(1)
  9. iOS 添加导航栏两侧按钮
  10. Java基础(三)-final关键字分析
  11. IDEA安装vue开发插件
  12. Part 7:自定义admin站点--Django从入门到精通系列教程
  13. java常见报错及解决
  14. 解决sqoop连接mysq错误
  15. 8个Python小Tips
  16. 快速高效实现微信小程序图片上传与腾讯免费5G存储空间的使用
  17. echarts ajax数据加载方法
  18. pdf阅读器开发
  19. 【转】POJ分类很好很有层次感
  20. 26个Jquery1.4使用小技巧

热门文章

  1. Kubernetes Deployment(部署无状态应用)
  2. WPF xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  3. C#,二分法,BinarySearch()
  4. curl命令查看时间信息
  5. Java性能 -- CAS乐观锁
  6. webpack4 babel 篇
  7. 前端技术扫盲-rem和px以及em关系
  8. Redis入门学习(一):简介
  9. affine_trans_pixel 和 affine_trans_point_2d的区别
  10. RV64I基础整数指令集