nginx配置实例之反向代理、负载均衡

3.1 反向代理(一)

在做任何事情之前,要明确一件事情,要达到什么效果、目的。

  1. 实现效果

    打开浏览器,在浏览器的地址栏中输入一个地址www.lyt.com,跳转到Linux系统的tomcat主页面中

  2. 准备工作

    在Linux下安装tomcat,使用默认端口8080

    ​ (1)将tomcat安装文件放到Linux系统中,解压

    ​ (2)进入tomcat的bin目录中,./startup.sh启动Tomcat服务器

    在这里插入图片描述

    查看开放的端口号firewall-cmd --list-all

    在这里插入图片描述

    设置开放的端口号:firewall-cmd --add-port=8080/tcp --permanent

    重启防火墙:firewall-cmd --reload

    (3)在windows系统中通过浏览器访问tomcat服务器

    在这里插入图片描述

  3. 访问过程分析

在这里插入图片描述

  1. 具体配置

    (1)在Windows系统的host文件进行域名和ip对应关系的配置

    在这里插入图片描述
    在这里插入图片描述

    (2)在nginx中进行请求转发的配置(反向代理配置)

    在这里插入图片描述

    当访问192.168.187.11:80就会转发到127.0.0.1:8080

    1. 最终的测试

    cd /usr/local/sbin执行./nginx开始nginx服务,到Windows下进行测试。效果如下:

    在这里插入图片描述

3.2 反向代理(二)

  1. 实现效果

    使用nginx反向代理,根据访问的路径跳转到不同端口的服务中,nginx监听的端口为9001

    访问http://192.168.187.11:9001/edu/ 直接跳转到127.0.0.1:8080

    访问http://192.168.187.11:9001/vod/ 直接跳转到127.0.0.1:8081

  2. 准备工作

    (1)准备两个tomcat服务器,一个8080端口,一个8081端口。(复制两份放到两个文件夹中,分别启动,将其中一个端口修改为8081)

    修改端口: 到文件tomcat/conf/server.xml中修改:

    在这里插入图片描述
    在这里插入图片描述

    (2)创建文件夹和测试页面

    ​ 在两台tomcat里面webapps目录中,创建edu,vod文件夹,在edu,vod文件夹中创建页面a.html,用于测试

  3. 具体配置

    (1)找到nginx配置文件,进行反向代理的配置

    在这里插入图片描述
    (2)开放对外访问的端口号9001 8080 8081

  4. 最终测试

    在这里插入图片描述
    在这里插入图片描述

    注:location指令说明

    该指令用于匹配URL。

    语法如下:

    location [ = | ~ | ~* | ^~] uri{
    }
    

    在这里插入图片描述

3.3 负载均衡

  1. 实现效果

    浏览器地址栏输入地址http://192.168.187.11/edu/a.html,实现负载均衡效果,将请求平均分发到8081和8082端口中

  2. 准备工作

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

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

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

    (1)在http块中加上upstream 服务名{列出负载均衡tomcat服务器的列表}

    在这里插入图片描述

    (2)在server里加上规则server_name改为我们的ip,location中加上起的服务名

    在这里插入图片描述

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

    1. 轮询(默认)

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

    2. weight

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

      upstream server_name{
      	server 192.168.187.11:8081 weight=5;
      	server 192.168.187.11:8082 weight=10;
      }
      
    3. ip_hash

      每个请求按访问ip的hash结果分配,这样每个访客(ip)固定访问一个后端服务器,可以解决session问题,例如:

      upstream server_name{
      	ip_hash;
      	server 192.168.187.11:8081;
      	server 192.168.187.11:8082;
      }
      
    4. fail(第三方)

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

      upsrteam server_name{
      	server 192.168.187.11:8081;
      	server 192.168.187.11:8082;
      	fair;
      }
      

少年易老学难成,一寸光阴不可轻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值