负载均衡之nginx
什么是负载均衡
负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。
在使用nginx负载均衡前,需要先了解一下 nginx的反向代理 请查看并理解
http://www.php20.com/forum.php?mod=viewthread&tid=37&extra=
理解完反向代理,基本就可以理解负载均衡了。
还是拿baidu做测试 原来的代码请修改成
[PHP] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
upstream test1{ server www.php20.com; server www.fangsongyixia.com; } server{ listen 80; server_name [url]www.baidu.com[/url]; location / { #转发头中包含ip和代理ip proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; #不使用缓存 proxy_buffering off; proxy_pass http: //test1; } } |
这个时候访问www.baidu.com的时候会发现,会在论坛与笑话站之间来回切换。
除了自动分配服务器外。可以指定权重
[PHP] 纯文本查看 复制代码
1
2
3
4
|
upstream test1{ server www.php20.com weight=5; server www.fangsongyixia.com weight=1; } |
还可以通过ip来分配。 请查看原文档 什么是负载均衡
负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。
在使用nginx负载均衡前,需要先了解一下 nginx的反向代理 请查看并理解
http://www.php20.com/forum.php?mod=viewthread&tid=37&extra=
理解完反向代理,基本就可以理解负载均衡了。
还是拿baidu做测试 原来的代码请修改成
[PHP] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
upstream test1{ server [url]www.php20.com[/url]; server [url]www.fangsongyixia.com[/url]; } server{ listen 80; server_name [url]www.baidu.com[/url]; location / { #转发头中包含ip和代理ip proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; #不使用缓存 proxy_buffering off; proxy_pass http: //test1; } } |
这个时候访问www.baidu.com的时候会发现,会在论坛与笑话站之间来回切换。
除了自动分配服务器外。可以指定权重
[PHP] 纯文本查看 复制代码
1
2
3
4
|
upstream test1{ server [url]www.php20.com[/url] weight=5; server [url]www.fangsongyixia.com[/url] weight=1; } |
还可以通过ip来分配。 请查看原文档
http://www.nginx.cn/doc/standard/httpupstream.html
将来不迎,当下不杂,过往不念。