nginx负载均衡

负载均衡与反向代理的区别和联系

  • 反向代理 -> 仅代理一台服务器
  • 负载均衡 -> 可以代理(多台,集群)

负载均衡配置文件

cat node_proxy.conf

upstream node {
	server 172.16.1.7:80;
	server 172.16.1.8:80;
}

server {
	listen 80;
	server_name node.oldboy.com;

	location / {
		proxy_pass http://node;
        include proxy_params;
	}
}

vim /etc/nginx/proxy_params //优化参数文件

#添加发往后端服务器的请求头信息
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#代理到后端的tcp连接,响应,返回等超时时间
proxy_connect_timeout 30;  #代理与后端服务器连接超时时间
proxy_send_timeout 60;     #代理等待后端服务器的响应时间
proxy_read_timeout 60;    #后端服务器数据回传给nginx代理超时时间

#代理缓冲区
proxy_buffering on;  #把后端返回的内容先放到缓冲区中,然后再返回给客户端,边收边传
proxy_buffer_size 32k; #设置nginx代理保存用户头信息的缓冲区大小
proxy_buffers 4 128k;  

负载均衡的状态参数

状态概述
down当前的server暂时不参与负载均衡
backup预留的备份服务器
max_fails允许请求失败的次数
fail_timeout经过max_fails失败后, 服务暂停时间
max_conns限制最大的接收TCP连接数

1.测试down状态, 测试该Server不参与负载均衡的调度

upstream load_pass {
    //不参与任何调度, 相当于注释
    server 10.0.0.7:80 down;
}

2.测试backup以及down状态

upstream load_pass {
    server 10.0.0.7:80;
    server 10.0.0.8:80 backup;
}

3.测试max_fails失败次数和fail_timeout 多少时间内失败多少次则标记down

upstream load_pass {
    server 10.0.0.7:80;
    server 10.0.0.8:80 max_fails=2 fail_timeout=10s;
}

4.测试max_conns最大TCP连接数

upstream load_pass {
    server 10.0.0.7:80;
    server 10.0.0.8:80 max_conns=1;
}

Nginx调度策略

调度算法概述
轮询按时间顺序逐一分配到不同的后端服务器(默认)
weight加权轮询,weight值越大,分配到的访问几率越高
ip_hash每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn最少链接数,那个机器链接数少就分发

加权轮询–>针对http请求

upstream node {
        server 172.16.1.7:80 weight=5;
        server 172.16.1.8:80;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值