小知识:5种nginx负载均衡配置方法分享

一、轮询(默认) 

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 

二、weight

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

例如:  
复制代码代码如下:

upstream bakend {  

server 192.168.0.14 weight=10;  

server 192.168.0.15 weight=10;  

}

三、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。  

例如:  
复制代码代码如下:

upstream bakend {  

ip_hash;  

server 192.168.0.14:88;  

server 192.168.0.15:80;  

四、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。  

复制代码代码如下:

upstream backend {  

server server1;  

server server2;  

fair;  

}

五、url_hash(第三方) 

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。  

例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法  
复制代码代码如下:

upstream backend {  

server squid1:3128;  

server squid2:3128;  

hash $request_uri;  

hash_method crc32;  

}

tips:  

复制代码代码如下:

upstream bakend{#定义负载均衡设备的Ip及设备状态  

ip_hash;  

server 127.0.0.1:9090 down;  

server 127.0.0.1:8080 weight=2;  

server 127.0.0.1:6060;  

server 127.0.0.1:7070 backup;  

在需要使用负载均衡的server中增加  

复制代码代码如下:
proxy_pass http://bakend/;

每个设备的状态设置为: 

1.down 表示单前的server暂时不参与负载  

2.weight 默认为1.weight越大,负载的权重就越大。  

3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误  

4.fail_timeout:max_fails次失败后,暂停的时间。  

5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。  

nginx支持同时设置多组的负载均衡,用来给不用的server来使用。  

client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug  

client_body_temp_path 设置记录文件的目录 可以设置最多3层目录  

location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:PHP开发框架kohana3.3.1在nginx下的伪静态设置例子

2023-5-9 2:08:59

建站知识

小知识:可以提高效率的十个Linux命令别名汇总

2023-5-9 2:19:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索