Linux&Nginx16_Nginx负载均衡6

发布时间 2023-03-27 17:16:39作者: 花溪月影

一、负载均衡概述

 在网站创立初期,我们一般都使用单台机器对外提供集中式服务。随着业务量的增大,我们一台服务器不够用,此时就会把多台机器组成一个集群对外提供服务,但是,我们网站对外提供的访问入口通常只有一个,比如 www.web.com。那么当用户在浏览器输入www.web.com进行访问的时候,如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡要做的事情。

负载均衡通常是指将请求"均匀"分摊到集群中多个服务器节点上执行,这里的均匀是指在一个比较大的统计范围内是基本均匀的,并不是完全均匀。
二、负载均衡实现方式

 1. 硬件负载均衡

  比如F5、深信服、Array等

  优点是有厂商专业的技术服务团队提供支持,性能稳定

  缺点是费用昂贵,对于规模较小的网络应用成本太高

 2. 软件负载均衡

  比如 Nginx、LVS、HAProxy 等

  优点是免费开源,成本低廉

 

  

 

三、实例

 1. 首先向/usr/local目录下传输一个tomcat压缩包,并对此tomcat压缩包进行解压,分别命名为tomcat-1,tomcat-2两个文件。

 

  

 2. 进入tomcat-1的webapps目录下,在该目录下上传一个项目的war包

   进入tomcat-2的webapps目录下,在该目录下上传一个项目的war包

 3. 修改tomcat的端口号

  vim /usr/local/tomcat-1/conf/server.xml,进入文件后,在底部输入“/8080”找到指定的端口号进行修改

  

  vim /usr/local/tomcat-2/conf/server.xml,进入文件后,在底部输入“/8080”找到指定的端口号进行修改

  

 

   修改server的端口号

 

  

  修改链接端口号

 

  

 4. 启动tomcat-1服务器

  ./tomcat-1/bin/startup.sh |tail -f ./taomcat-1/logs/catalina.out &

  tomcat-1的端口号为

  

  启动tomcat-1服务器

  ./tomcat-2/bin/startup.sh |tail -f ./taomcat-2/logs/catalina.out &

   tomcat-2的端口号为
  

 5. 浏览器直接访问两台tomcat,进行测试

 

  

  

 

  6. 配置nginx

   vim /usr/local/nginx/conf/nginx.conf

   a. 在http模块上加

    
     其中weight=1表示权重,用于后端服务器性能不均的情况,访问比率约等于权重只比,权重越大访问机会越多

     upstream是配置nginx与后端服务器负载均衡非常重要的一个模块,并且它还能对后端的服务器的健康状态进行检查,若后端服务器中的一台发生故障,则前端的请求不会转发发到该故障的机器

   b. 在server模块加

 

             

 

    其中www.myweb.com字符串要和upstream后面的字符串相同。

  7. 启动nginx
    

  8. 浏览器直接访问nginx进行测试

   我是通过xftp进入到webapps/myweb/index.jsp进行修改的

   当然也可以直接进入vim webapps/myweb/index.jsp进行修改

   为了看到效果,在tomcat9100的index.jsp中加一个标记

    

    这个时候可以看到,服务器的端口为80,是nginx服务器的默认端口