nginx 均衡负载

前言

在此只介绍一些nginx的简单的负载均衡。

正文

在这篇之前,请看我的nginx反向代理这一篇,是接着上面的例子写的。

我在上个例子中,分别是两个a.html 和 b.html 现在我把他们的名字全部改成b.html,且文件夹都是b.

接来下来做负载均衡。

修改一下配置:

upstream mynginx{
   server 127.0.0.1:8081;
   server 127.0.0.1:8080;
}
server{
   listen 9080;
   server_name www.9080.com;
   index index.html index.htm index.php;
   location /
   {
	  proxy_pass http://mynginx;
   }
}

首先定义了一个虚拟地址mynginx,也叫上游服务哈。

然后将端口9080转发给了虚拟地址。

可以看到,它对两个服务交替访问,也称作为轮询。

好吧,看下其他几种方式。

1.每个请求按照时间顺序分配到不同服务器上去,如果有一台服务器出现问题,则会剔除。

存在的问题,session问题。

2.weight 权重

这个代表什么呢?如果weight值越多,那么分配的比例越大。

upstream mynginx{
   server 127.0.0.1:8081 weight 10;
   server 127.0.0.1:8080 weight 20;
}

那么weight 越大,那么分配的连接数越大。

  1. ip hash的方式

我在的公司的老代理就是用的这种。

这种是什么意思呢?

就是说比如我的ip是某某,是固定的,那么就会固定分配到某台服务器。

存在的问题:比如说一个片区用的是同一个ip那么会负载不均衡。

这样写:

upstream mynginx{
   ip_hash
   server 127.0.0.1:8081 weight 10;
   server 127.0.0.1:8080 weight 20;
}

4.fair 方式

就是说你那台服务器响应的越快分配的就越多。

upstream mynginx{
   server 127.0.0.1:8081 weight 10;
   server 127.0.0.1:8080 weight 20;
   fair
}
原文地址:https://www.cnblogs.com/aoximin/p/12821556.html