nginx如何配置负载均衡?
upstream ipcc.com{
server 192.168.1.1:8081 max_fails=1 fail_timeout=60s;
server 192.168.1.1:8082 max_fails=1 fail_timeout=60s;
ip_hash;
}
upstrem 参数详解:
- service :反向服务地址加端口
- weight:权重
- max_fails:失败多少次,认为主机已经挂掉,则踢出
- fail_timeout:踢出后重新探测时间
- backup:备用服务
- max_conns:允许最大连接数
- slow_start:当节点回复,不立即加入
upstream按照轮询(默认)方式进行负载,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。虽然这种方式简便、成本低廉。但缺点是:可靠性低和负载分配不均衡。适用于图片服务器集群和纯静态页面服务器集群。
负载均衡算法详解:
- ll+weight:默认的负载算法
- ip_hash:基于Hash计算(应用场景,保持session一致性)
- url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。(应用场景:静态资源缓存,节约存储,加快速度)
- least_conn:最少链接
- least_time:最小的相应时间,计算节点平均响应时间,然后取相应最快的那个,分配更高的权重
描述 |
|
service |
反向服务地址 加端口 |
weight |
权重 |
max_fails |
失败多少次 认为主机已挂掉则,踢出 |
fail_timeout |
踢出后重新探测时间 |
backup |
备用服务 |
max_conns |
允许最大连接数 |
slow_start |
当节点恢复,不立即加入 |