05 Ngnix 负载均衡配置,常用策略

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxdeng/article/details/83865617

简介

1. 轮询(默认)

优点:实现简单,默认配置;
缺点:不考虑每台服务器处理能力
upstream 后面要被负载均衡的域名;
server 负载的端口

upstream www.hxxiaodao.com{
    server www.hxxiaodao.com:8080;
    server www.hxxiaodao.com:8088;
}

2. 权重

优点: 考虑每台服务器处理能力不同达到能者多劳
权重也是实际生产环境使用最对的方式
weight 默认是1,多个配置权重的节点,比较相对值,如下配置指标是8080是8088的1.5倍;

upstream www.hxxiaodao.com{
    server www.hxxiaodao.com:8080 weight=15;
    server www.hxxiaodao.com:8088 weight=10;
}

3. ip hash

优点:同一个用户访问同一个服务器
缺点:根据ip hash 不一定平均

upstream www.hxxiaodao.com{
    ip_hash;
    server www.hxxiaodao.com:8080;
    server www.hxxiaodao.com:8088;
}

4. url hash(第三方提供)

优点:能够实现同一个服务访问同一个服务器;
缺点:根据url hash 分配请求会不平均,请求频繁的url 会请求到同一个服务器上。

upstream www.hxxiaodao.com{
    server www.hxxiaodao.com:8080;
    server www.hxxiaodao.com:8088;
    hash $request_uri;
}

注意 使用url hash 需要安装第三方插件

5. fair(第三方)

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

upstream www.hxxiaodao.com{
    server www.hxxiaodao.com:8080;
    server www.hxxiaodao.com:8088;
    fair;
}

负载均衡参数讲解扩展知识点

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机器。就是一个备用机器)
}

范例

upstream www.hxxiaodao.com{
	server 127.0.0.1:8080;
	server 127.0.0.1:8088;
}

server{
	listen 80;
	autoindex on;
	server_name www.hxxiaodao.com;
	access_log c:/logs/ngnix.log combined;
	index index.html index htm index.jsp index.php;
	#error_page 404 /404.html;
	if ( $query_string ~* ".*[\;'\<\>].*" ){ 
		return 404; 
	}
	location /{
		root C:\ftpfile\img;	#root 节点表示转发到目录下,img最后不要加斜杠(windowns) 注意斜杠Liunx和Windowns 不一样
		#proxy_pass http://www.hxxiaodao.com;	# proxy_pass 表示转发到端口
		add_header Access-Control-Allow-Origin *;
	}
}

访问 www.hxxiaodao.com 被反向负载到本机的8080 或者 8088 两个访问。

ngnix conf 下创建vhost 目录然后创建www.hxxiaodao.com.conf文件

猜你喜欢

转载自blog.csdn.net/hxdeng/article/details/83865617
今日推荐