Nginx负载均衡案例

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx负载均衡案例相关的知识,希望对你有一定的参考价值。

1、实现效果

浏览器地址栏输入地址 http://192.168.56.20/edu/a.html,负载均衡效果,平均到 8080和8081 端口中

2、准备工作

(1)准备两台 tomcat 服务器,一台 8080,一台 8081

(2)在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建页面 a.html,用于测试

3、在 nginx 的配置文件中进行负载均衡的配置

nginx.conf中添加:

 

4、重启 Nginx

命令:nginx -s reload

5、测试

 

多次访问,默认是轮询,第一次访问到8080端口,第二次就是8081端口 。

访问结果在 8081 和 8080 之间切换 

6、负载均衡策略

随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎, nginx 就是其中的一个,在 linux 下有 Nginx、LVS、Haproxy 等等服务可以提供负载均衡服务,而且 Nginx 提供了几种分配方式(策略):

6.1)轮询(默认),

     每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

#实现负载均衡,默认使用轮询策略
	upstream myserver{
        server 192.168.56.20:8080;
        server 192.168.56.20:8081;
    }

6.2)weight

   weight 代表权,重默认为 1,权重越高被分配的客户端越多 。

   指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:

upstream myserver{
   server 192.168.56.20:8080 weight=10;
   server 192.168.56.20:8081 weight=5;
}

6.3)ip_hash

  每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。也就是说客户端在第一次访问某个服务后,后面都是访问此服务 。

  例如:

upstream myserver{
     ip_hash;
     server 192.168.56.20:8080;
     server 192.168.56.20:8081;
 }

6.4)fair(第三方)

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

upstream myserver{
   server 192.168.56.20:8080;
   server 192.168.56.20:8081;
   fair;
}

以上是关于Nginx负载均衡案例的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#Nginx配置案例之负载均衡

部署Tomcat 及 nginx+tomcat负载均衡

docker案例篇之nginx负载均衡

Nginx负载均衡案例

nginx-tomcat负载均衡实验案例

nginx-tomcat负载均衡实验案例