Nginx 负载均衡 —— upstream 配置

语法格式

upstream 负载名 { 
	[ip_hash;]
	server ip:port  [weight=数字]  [down]; 
	server ip:port  [weight=数字];
} 
#[]内容为可选项

轮询(默认)

upstream order {
	server 192.168.0.128:8383;
	server 192.168.244.233:8383;
}

不配置weight(即默认weight均为1)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

weight

upstream order {
	server 192.168.0.128:8383 weight=3;
	server 192.168.244.233:8383 weight=1 down;
}

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
down 暂时不参与负载

ip_hash

upstream order {
	ip_hash;
	server 192.168.0.128:8383;
	server 192.168.244.233:8383;
}

每个请求按访问ip的hash结果分配,这样同一客户端的请求总是发往同一个后端服务器,可以解决session的问题(轻量级的解决方式)。

代理时的负载使用

格式:proxy_pass http://负载名;
把这里的负载名理解成代理配置里的 ip:端口号
示例:

server {
        listen       80;
        server_name	test.location.com;

        本机ip地址:192.168.100.104

        #后端服务路径:
        http://192.168.100.105:8080/user/query?id=1
        
        #规则一:
        #访问路径:http://test.location.com/user/query?id=1
        location /user {
        #path1:/user path2:/query 
                          #ip:port 后面无 /
               proxy_pass http://192.168.0.105:8080;
        }
        
        规则二:
        #访问路径 :http://test.location.com/A/user/query?id=1
        location /A/user {
        #path1:/A/user path2:/query 
                           #ip:port 后面有 /xxx
                proxy_pass http://192.168.0.105:8080/user;
        }
        #以上是回顾 proxy_pass 功能

	    #后端服务路径:http://192.168.0.128:8383/enjoy/getPage
	    #实际访问路径:http://test.location.com/order/enjoy/getPage
		upstream order {
			server 192.168.0.128:8383;
			server 192.168.244.233:8383;
		}
		location /order/enjoy {
        #path1:/order/enjoy path2:/getPage
                proxy_pass http://order/enjoy;
                				#这里的order是负载名,和location后面的值无关
                				#这么配是用 /order/enjoy 替代了 /enjoy
        }
    }

如果不清楚代理,可以看前一篇文章:
Nginx 配置 location 模块实现路由(代理转发、重定向)功能

参考:Peter——Nginx进阶-第二版笔记

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值