- 论坛徽章:
- 0
|
<P><SPAN style="TEXT-ALIGN: left; WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: 14px/25px Helvetica, Tahoma, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span>nginx的upstream目前支持的5种方式的分配<BR><BR>1、轮询(默认)<BR>每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。<BR>upstream backserver {<BR>server 192.168.0.14;<BR>server 192.168.0.15;<BR>}<BR><BR>2、weight<BR>指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。<BR>upstream backserver {<BR>server 192.168.0.14 weight=10;<BR>server 192.168.0.15 weight=10;<BR>}<BR><BR>3、ip_hash<BR>每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。<BR>upstream backserver {<BR>ip_hash;<BR>server 192.168.0.14:88;<BR>server 192.168.0.15:80;<BR>}<BR><BR>4、fair(第三方)<BR>按后端服务器的响应时间来分配请求,响应时间短的优先分配。<BR>upstream backserver {<BR>server server1;<BR>server server2;<BR>fair;<BR>}<BR><BR>5、url_hash(第三方)<BR>按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。<BR>upstream backserver {<BR>server squid1:3128;<BR>server squid2:3128;<BR>hash $request_uri;<BR>hash_method crc32;<BR>}<BR><BR>在需要使用负载均衡的server中增加<BR><BR>proxy_pass<SPAN class=Apple-converted-space> </SPAN><A style="COLOR: rgb(16,138,198); TEXT-DECORATION: underline" href="http://backserver/" target=_blank>http://backserver/</A><SPAN class=Apple-converted-space> </SPAN>;<BR>upstream backserver{<BR><BR>ip_hash;<BR>server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载)<BR>server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大)<BR>server 127.0.0.1:6060;<BR>server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)<BR>}<BR><BR>max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误。</SPAN><a href="http://www.zzbaike.com/wiki/Nginx%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1" target="_blank"></A></P> |
|