隐藏

Nginx负载均衡配置

发布:2022/5/22 22:11:25作者:管理员 来源:本站 浏览次数:864

Nginx 负载均衡配置

nginx的负载均衡是通过反向代理来实现的,在反向代理的基础上进行进一步的配置,直接看配置示例

http {

upstream LoadBalance-server {

server www.site.com:8080;

server www.site.com:8081;

}

server {

listen 80;

server_name localhost;

location / {

proxy_pass http://LoadBalance-server;

}

}

}

只需要添加upstream,并且对proxy_pass进行设置即可。

负载均衡的策略

1 轮询

轮询方式是Nginx负载默认的方式,请求按顺序分配到各个服务器

upstream  LoadBalance-server {
       server   www.site.com:8080;
       server   www.site.com:8081;
 }


2 权重

指定每个服务的权重比例,weight和访问比率成正比,适用于服务机器性能不同的情况,如下访问8080服务的比率会是8081服务的二倍。

upstream  LoadBalance-server {
       server   www.site.com:8080 weight=2;
       server   www.site.com:8081 weight=1;
 }


3 iphash

根据访问的ip进行hash来选择转发到哪一个服务器,同一个ip会一直访问同一个服务器,可以用来解决session不一致的问题,可以和weight配合使用

upstream  LoadBalance-server {
	ip_hash;
	server   www.site.com:8080;
	server   www.site.com:8081;
 }

4 最少连接

将请求分配到连接数最少的服务上。

upstream  LoadBalance-server {
	least_conn;
    server   www.site.com:8080;
    server   www.site.com:8081;    
 }


5 fair

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

upstream  LoadBalance-server {
    server   www.site.com:8080;
    server   www.site.com:8081;
	fair; 
 }