原文链接:https://www.cnblogs.com/knowledgesea/p/5199046.html

首先给大家说下upstream这个配置的,这个配置是写一组被代理的服务器地址,然后配置负载均衡的算法。这里的被代理服务器地址有两种写法。

# 第一种
upstream mysvr {
server 192.168.10.121:3333;
server 192.168.10.122:3333;
}
server {
....
location ~*^.+$ {
proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表
    }
}
# 第二种
upstream mysvr {
server http://192.168.10.121:3333;
server http://192.168.10.122:3333;
}
server {
....
location ~*^.+$ {
proxy_pass mysvr; #请求转向mysvr 定义的服务器列表
}
}

1. 热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB.....

upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333 backup; #热备
}

2. 轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB....

upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333;
}

3. 加权轮询:根据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB...

upstream mysvr {
server 127.0.0.1:7878 weight=1;
server 192.168.10.121:3333 weight=2;
}

4. ip_hash:nginx会让相同的客户端ip请求相同的服务器。

upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333;
ip_hash;
}

关于nginx负载均衡配置的几个状态参数:

  • down,表示当前的server暂时不参与负载均衡。
  • backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
  • max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
  • fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。
upstream mysvr {
server 127.0.0.1:7878 weight=2 max_fails=2 fail_timeout=2;
server 192.168.10.121:3333 weight=1 max_fails=2 fail_timeout=1;
}

最新文章

  1. jquery与各种UI框架的导入要注意的地方
  2. Kotlin语法(函数和lambda表达式)
  3. 创建一个Android项目
  4. 2015-2016-2 《Java程序设计》 游戏化
  5. C++ 模板双向不循环链表!!
  6. awk内置字符串函数 awk 格式化输出
  7. spoj 147
  8. 根据版本的不同整理所有的绿色SQL Server
  9. 【 D3.js 选择集与数据详解 — 4 】 enter和exit的处理方法以及处理模板
  10. JavaScript下拉框去除重复内容
  11. 《Programming Massively Parallel Processors》Chapter5 习题解答
  12. (转)ubuntu下如何查看软件安装目录以及安装版本
  13. Ckeditor与Ckfinder的配合使用,上传图片、水印、修改图片名字为当前日期 asp.net
  14. 【1】学习C++时,一些零散知识点01
  15. Scala编程 摘录
  16. GANs (Generative Adversarial Networks)
  17. centos Install Mrtg
  18. Scala学习笔记——简化代码、柯里化、继承、特质
  19. xml文件中的${}
  20. C#中关于@的用法

热门文章

  1. JDOJ1178:铺地板II
  2. html各种弹出框和提示框
  3. HTML+CSS基础 border css属性 Div块 盒子
  4. 修改Hexo自动生成的HTML文件名
  5. 奥展项目笔记07--vue绑定下拉框和checkbox总结
  6. SpringCloud之Eureka详细的配置
  7. Kubernetes RBAC授权普通用户对命名空间访问权限
  8. 转 Yolov3转化Caffe框架详解
  9. C# NPOI Export DataTable C# NPOI导出DataTable 单元格自适应大小
  10. java socket通信:聊天器(1)