一、nginx负载均衡介绍

1.1负载均衡

1.1.1 概述

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。
负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

1.1.2 负载均衡策略

  1. 轮询(默认)

每个请求按时间书怒逐一分配到不同的后端服务器,如果后端服务器宕机,则自动删除。

  1. weight

weight代表权重,默认为1,权重越高被分配的请求越多。

  1. ip_hash

在upstream中直接配置即可。每个请求按访问ip的hash结果匹配,这样每个访客固定访问一个后端的服务器,可以解决session的问题。

  1. fair(第三方)

在upstream中直接配置即可。按后端服务器的响应时间来分配请求,响应时间短的优先匹配。

1.2 架构图

image.png

二、配置nginx负载均衡

2.1 修改nginx配置文件**

  1. vim /usr/local/nginx/conf/nginx.conf
  2. # 修改地方如下
  3. http{
  4. upstream tomcatserver{
  5. # 服务器列表
  6. server 192.168.10.5:8080 weight=1;
  7. server 192.168.10.6:8080 weight=1;
  8. }
  9. server{
  10. listen 80;
  11. server_name 192.168.10.111;
  12. # 通过反向代理指定tomcat
  13. location / {
  14. proxy_pass http://tomcatserver;
  15. }
  16. }
  17. }

三、重启nginx

nginx -s reload

四、测试访问虚拟vip

curl 192.168.10.111