nginx负载均衡设置
在nginx的配置文件【./conf/nginx.conf】中加入:
upstream test.balance123.com {
server 192.168.1.223:80;
server 192.168.1.101:8888;
}
server {
listen 80;
location /{
proxy_pass http://test.balance123.com;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100m;
proxy_read_timeout 200;//用于代理超时控制
}
}
默认轮循。
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、加权轮询
根据请求按一定比例访问后端服务器,主要用于服务资源分配不均的情况。
upstream test.balance123.com {
server 192.168.1.223:80 weight=10;
server 192.168.1.101:8888 weight=5;
}
eg:上面的配置使得223的请求量是101的2倍
3、ip_hash
根据请求ip的hash结果分配后端服务器,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:
upstream resinserver{
ip_hash;
server 192.168.1.223:80;
server 192.168.1.101:8888;
}
4,least_conn
我们知道轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同。
这有个前提,就是每个请求所占用的后端时间要差不多,如果有些请求占用的时间很长,会导致其所在的后端
负载较高。在这种场景下,把请求转发给连接数较少的后端,能够达到更好的负载均衡效果,这就是least_conn算法。
least_conn算法很简单,首选遍历后端集群,比较每个后端的conns/weight,选取该值最小的后端。
如果有多个后端的conns/weight值同为最小的,那么对它们采用加权轮询算法。
upstream resinserver{
least_conn;
server 192.168.1.223:80;
server 192.168.1.101:8888;
}
Note:Nginx的反向代理在配置上与负载均衡一致;只不过当后端服务器为一台时称为反向代理,有多台时称为负载均衡。
最新文章
- JS隐形数据类型转换注意事项
- errno.h
- SVG 基础
- 【poj1017】 Packets
- 【jquery】一个简单的单选、多选、全选、反选、删除的小功能
- 不同iOS版本做代码适配__IPHONE_OS_VERSION_MAX_ALLOWED 和 __IPHONE_8_0等专业术语
- 烂泥:centos6.4服务器添加新硬盘
- centos atomic host第一次启动
- Qt 5 常见错误汇总
- hdu 4800 Josephina and RPG
- Xcode中需要熟悉的常用快捷键
- 跟我一起学extjs5(16--各种Grid列的自己定义渲染)
- 新发现2个网站:wedelphi和2pascal studydelphi
- ToDictionary() and ToList()
- ArcGisEngine图层操作(随笔,不全)
- 关于Xocd升级 cocopoads无法使用的解决
- 【Selenium】【BugList5】chrom窗口未关闭,又新开窗口,报错:[8564:8632:0522/111825.341:ERROR:persistent_memory_allocator.cc(845)] Corruption detected in shared-memory segment.
- C#面向对象 类的继承
- create table 推荐规则
- VSTO - 使用Excel加载项生成表和图表