Nginx负载均衡策略
目前nginx负载均衡支持的5种方式的分配
1. 轮询
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.
upstream backserver {
server 192.168.5.205;
server 192.168.5.206;
}
2. weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况.
upstream backserver {
server 192.168.5.205 weight=10;
server 192.168.5.206 weight=10;
}
3.ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题.
upstream backserver {
ip_hash;
server 192.168.5.205:88;
server 192.168.5.206:80;
}
4.fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配.
upstream backserver {
server 192.168.5.205;
server 192.168.5.206;
fair;
}
5.url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效.
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}
---------------------------------------------------------------
在需要使用负载均衡的server中增加
proxy_pass http://backserver/;
upstream backserver{
ip_hash;
server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载)
server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大)
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)
}
max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误.
Nginx 负载均衡+ 第三方模块,健康状态检测
https://github.com/yaoweibin/nginx_upstream_check_module 下载软件
需要打补丁,并且重新编译
解压 并 打上补丁...
unzip yaoweibin-nginx_upstream_check_module-v0.1.6-17-gdfee401.zip
cd nginx-1.2.3
patch -p1 < /opt/software/yaoweibin-nginx_upstream_check_module-dfee401/check_1.2.1+.patch
(如果nginx版本不是1.2.1以上的,用patch -p1 < /opt/software/yaoweibin-nginx_upstream_check_module-dfee401/check.patch打补丁)
./configure --user=www --group=www --prefix=/opt/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/opt/software/yaoweibin-nginx_upstream_check_module-dfee401/
make && make install
修改配置文件:
upstream webserver {
server 10.3.0.100:8000 weight=1;
server 10.3.0.101 weight=2;
check interval=1000 rise=2 fall=2 timeout=1000; //interval检测间隔时间,rsie请求2次正常的话为up,fail请求2次失败的话为down,timeout检查超时时间(毫秒)
check_http_send "GET /.test.html HTTP/1.0"; //所发送的检测请求
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://peace; //引用
}
location /status { //定义一个类似stub_status的方式输出检测信息
check_status;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
Nginx负载均衡策略的更多相关文章
- nginx 负载均衡策略
nginx 负载均衡策略 1. 轮询轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:upstream backend {server backend1.e ...
- Nginx负载均衡策略的介绍与调优
工作中经常会用到nginx负载均衡这一块,下面对nginx负载均衡策略做个总结.本人在工作中最常用到的负载均衡策略是轮询策略. 在一般情况下,Web中间件最大的作用就是负责对请求进行分发,也就是我们常 ...
- 解析 Nginx 负载均衡策略
转载:https://www.cnblogs.com/wpjamer/articles/6443332.html 1 前言 随着网站负载的不断增加,负载均衡(load balance)已不是陌生话题. ...
- DNS负载均衡与NGINX负载均衡策略
负载均衡是指的是把请求均匀的分摊到多个服务器上处理.一般常见的负载均衡有两种:①客户端与反向代理服务器之间的DNS负载均衡②反向代理服务器与应用服务器之间的负载均衡(这种负载均衡有很多,可以是webl ...
- 负载均衡(四)Nginx负载均衡策略
一.Nginx的作用 1.反向代理 代理:转发请求的服务器,分代理和反向代理.代理一般指的是我们使用的DNS,反向代理是放在服务端的大家通常用Nginx来解决.实际应用中,由于服务端处于一个中心位置, ...
- nginx负载均衡策略url_hash配置方法
参考文章: https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/ 根据路径,进行一致性hash,具体的配 ...
- nginx负载均衡六种策略
Nginx服务器之负载均衡策略(6种) 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的 ...
- Nginx服务器之负载均衡策略(6种)
一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器.详情请查看我的另一篇博客. 二.Ng ...
- nginx的几种负载均衡策略
转自https://www.cnblogs.com/1214804270hacker/p/9325150.html 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即 ...
随机推荐
- 689D Friends and Subsequences RMQ+二分
题目大意:给出两个数组,求第一个数组区间内的最大值和第二个区间内的最小值相同的区间有多少种. 题目思路:通过预处理(O(n*Logn))后,每次查询的时间复杂度为O(1),但是如果暴力查询O(n*n) ...
- HDU 3732 Ahui Writes Word 多重背包优化01背包
题目大意:有n个单词,m的耐心,每个单词有一定的价值,以及学习这个单词所消耗的耐心,耐心消耗完则,无法学习.问能学到的单词的最大价值为多少. 题目思路:很明显的01背包,但如果按常规的方法解决时间复杂 ...
- LightOJ 1058 平行四边形的判断定理
题目大意:给你n个点,求这n个点最多能组成多少个平行四边形. 题目思路:这道题卡时间,而且卡内存.你要尽可能的想办法优化. 平行四边形的判定定理: 两组对边分别平行的四边形是平行四边形(定义判定法): ...
- 怎样解决VS2013模块对于SAFESEH 映像是不安全的
今天在使用VS2013编译一个控制台应用程序时出现了:error LNK2026 模块对于 SAFESEH 映像是不安全的,按照以下步骤轻松解决了. 打开该项目的“属性页”对话框,然后单击“链接器”- ...
- lucene-SpanQuery跨度查询基础
1.跨度查询SpanQuery5个子类 SpanQuery类型 描述 SpanTermQuery 和其他跨度查询结合 ...
- Oracle sql优化之分析函数优化标量子查询
待优化语句如下 select a.code as code, a.m_code as m_code,a.stktype as f_stype,a.e_year as e_year, b.sname a ...
- 转:Web安全与Rational AppScan入门
Web 应用的基础概念 在讨论 Web 应用安全之前,先简单介绍一下 Web 应用基础概念,这样便于理解为什么 Web 应用是脆弱的,容易受到攻击. 1. 什么是 Web 应用 Web 应用是由动态脚 ...
- 使用DTM ( Dynamic Topic Models )进行主题演化实验
最近想研究下Dynamic Topic Models(DTM),论文看了看,文科生的水平确实是看不懂,那就实验一下吧,正好Blei的主页上也提供了相应的C++工具, http://www.cs.pri ...
- C++设计模式-单件
理解 1. Singleton模式用来取代全局静态变量.C++通过静态成员变量来实现类实例全局唯一性. 2. instance()方法是单件提供的唯一调用入口. 要点 1. ...
- OpenGL学习--------颜色的选择
OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式.无论哪种颜色模式,计算机都必须为每一个像素保存一些数据.不同的是,RGBA模式中,数据直接就代表了颜色:而颜色索引模式中,数据代表的是 ...