nginx 负载均衡

Posted ownlate

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 负载均衡相关的知识,希望对你有一定的参考价值。

nginx 的负载均衡服务所使用的模块是ngx_http_upstream_module
示例配置:
upstream backend {
  server backend1.example.com;
  server backend2.example.com:8080;
  server unix:/tmp/backend3;
}

server {
  location / {
    proxy_pass http://backend;
  }
}
upstream backend 设置一个服务器池(组),backend为池(组)名称,
server 设置后端服务器

upstream参数:
weight:权重
max_fails:尝试连接后端主机失败的次数
fail_timeout:在max_fails定义的失败次数后,距离下次检查的间隔时间
backup:备份节点,所有节点都挂掉后,才会请求备份节点
down:服务器不可用
示例配置:
upstream backend {
  server backend1.example.com weight=5;
  server backend2.example.com:8080 max_fails=3 fail_timeout=5s;
  server unix:/tmp/backend3 down;

  server backup1.example.com:8080 backup;
  server backup2.example.com:8080 backup;
}

server {
  location / {
    proxy_pass http://backend;
  }
}

nginx负载均衡方法:
nginx提供了以下三种负载均衡机制、方法:
round-robin:请求以循环、轮转的方式分发到应用服务器。
least-connected :下一个请求被分配到拥有最少活动连接数的服务器
ip-hash:使用一个哈希函数,基于客户端ip地址判断下一个请求应该被分发到哪个服务器。
#默认方法为round-robin
round-robin示例配置:
upstream backend {
  server backend1.example.com;
  server backend2.example.com:8080;
  server unix:/tmp/backend3;
}
least-connected示例配置:
upstream backend {
  least_conn;
  server backend1.example.com;
  server backend2.example.com:8080;
  server unix:/tmp/backend3;
}
ip-hash示例配置:
upstream backend {
  ip-hash;
  server backend1.example.com;
  server backend2.example.com:8080;
  server unix:/tmp/backend3;
}






















































以上是关于nginx 负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

Nginx---负载均衡和缓存

nginx负载均衡

使用Nginx配置TCP负载均衡

Nginx实现负载均衡

Nginx——nginx作为负载均衡服务(负载均衡与nginx)

nginx+keepalive实现负载均衡高可用