Nginx反向代理与负载均衡

1、反向代理

正向代理:示意图

Nginx实现反向代理:Nginx作为反向代理服务器安装在服务端,Nginx的功能就是把请求转发给后面的应用服务器。

配置步骤 :

  • 第一步:简单的使用2个tomcat实例模拟两台http服务器,分别将tomcat的端口改为8080和8081

  • 第二步:启动两个tomcat。
./bin/startup.sh
访问两个tomcat
http://192.168.52.100:8080/
http://192.168.52.100:8081/
  • 第三步:反向代理服务器的配置
#反向代理配置
#upstream中的server是真正处理请求的应用服务器地址
upstream lagou1{
    #用server定义HTTP地址
    server 192.168.80.100:8080;
}

server {
    listen 80;
    server_name www.lagou1.com;
    location / {
        # 利用 proxy_ pass可以将请求代理到upstream命名的HTTP服务
        proxy_pass http://lagou1; #转发到的地址
        index index.html index.htm;
    }
}

upstream lagou2{
    #用server定义HTTP地址
    server 192.168.80.100:8081;
}

server {
    listen 80;
    server_name www.lagou2.com;
    location / {
        proxy_pass http://lagou2;
        index index.html index.htm;
    }
}
  • 第四步:nginx重新加载配置文件

    nginx -s reload

  • 第五步:配置域名, 在hosts文件中添加域名和ip的映射关系

    192.168.80.100 www.lagou1.com
    192.168.80.100 www.lagou2.com

    通过浏览器输入域名, 访问Nginx代理服务器, Nginx根据域名将请求转发给对应的目标服务器,作为用户我们看到的是服务器的响应结果页面,在整个过程中目标服务器相对于客户端是不可见的,服务端向外暴露的就是Nginx的地址。

2、负载均衡

2.1、什么是负载均衡

        当一个请求发送过来的时候,Nginx作为反向代理服务器,会根据请求找到后面的目标服务器去处理请求,这就是反向代理. 那么, 如果目标服务器有多台的话,找哪一个服务器去处理当前请求呢 ? 这个合理分配请求到服务器的过程就叫做负载均衡。

2.2、为什么用负载均衡

        当系统面临大量用户访问,负载过高的时候,通常会使用增加服务器数量来进行横向扩展, 负载均衡主要是为了分担访问量,将请求合理分发给不同的服务器, 避免临时的网络堵塞。

2.4、负载均衡策略

轮询

  • 默认策略, 每个请求按照时间顺序逐一分配到不同的服务器,如果某一个服务器下线,能自动剔除
  • 配置方式(必须proxy_pass 代理对象名相同),就是相同的upstream 定义的属性名,下面有多个server

weight

  • 可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
  • 配置方式

    #负载均衡
    upstream lagouServer{
          # 用server定义 HTTP地址
          server 192.168.52.100:8081 weight=1;
          server 192.168.52.100:8082 weight=10;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠然予夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值