Nginx反向代理与负载均衡

 反向代理

 什么是反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

首先我们先理解正向代理,如下图:

 

正向代理是针对你的客户端,而反向代理是针对服务器的,如下图

 

 配置反向代理-准备工作

(1) 将网站首页页面部署到tomcat中(ROOT目录),上传到服务器。

(2)启动TOMCAT,输入网址http://192.168.25.141:8080可以看到网站首页

 配置反向代理

(1)在Nginx主机修改 Nginx配置文件

    upstream tomcat-portal {

          server 192.168.25.141:8080;

    }

    server {

        listen       80;

        server_name  www.xxx.com;  

        location / {

            proxy_pass   http://tomcat-portal;

            index  index.html;

        }

    }

  1. 重新启动Nginx  然后用浏览器测试: www.xxx.com(此域名须配置域名指向)

负载均衡

 什么是负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器FTP服务器企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

 配置负载均衡-准备工作

  1. 将刚才放有首页工程的tomcat复制两份,端口分别为8180 和8280 。
  2. 分别启动这两个tomcat服务器的tomcat服务。
  3. 为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分。

 配置负载均衡

修改 Nginx配置文件:

   upstream tomcat-portal {

       server 192.168.25.141:8080;

       server 192.168.25.141:8180;

       server 192.168.25.141:8280;

    }

    server {

        listen       80;

        server_name  www.xxx.com;

 

        location / {

            proxy_pass   http://tomcat-portal;

            index  index.html;

        }      

      

    }

地址栏输入http://www.xxx.com/  刷新观察每个网页的标题,看是否不同。

经过测试,三台服务器出现的概率各为33.3333333%,交替显示。

如果其中一台服务器性能比较好,想让其承担更多的压力,可以设置权重。

比如想让NO.1出现次数是其它服务器的2倍,则修改配置如下:

    upstream tomcat-portal {

         server 192.168.25.141:8080;

         server 192.168.25.141:8180 weight=2;

         server 192.168.25.141:8280;

    }

经过测试,每刷新四次,有两次是8180

 了解高可用

1什么是高可用

nginx 作为负载均衡器,所有请求都到了 nginx,可见 nginx 处于非常重点的位置,如果nginx 服务器宕机后端 web 服务将无法提供服务,影响严重。

为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(High Availability)监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务 IP 并继续提供负载均衡服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务 IP 地址,这样的主服务器就开始再次提供负载均衡服务。

2 keepalived简介

keepalived 是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。

Keepalived 的作用是检测 web 服务器的状态,如果有一台 web 服务器死机,或工作出现故障,Keepalived 将检测到,并将有故障的 web 服务器从系统中剔除,当 web 服务器工作正常后 Keepalived 自动将 web 服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的 web 服务器。

keepalived 是以 VRRP 协议为实现基础的,VRRP 全称 Virtual Router Redundancy Protocol,即虚拟路由冗余协议。

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将 N 台提供相同功能的

路由器组成一个路由器组,这个组里面有一个 master 和多个 backupmaster 上面有一个对外提供服务的 vipVIP = Virtual IPAddress,虚拟 IP 地址,该路由器所在局域网内其他机器的默认路由为该 vip),master 会发组播,当 backup 收不到 VRRP 包时就认为 master 宕掉了,这时就需要根据 VRRP 的优先级来选举一个 backup master。这样的话就可以保证路由器的高可用了。

keepalived 主要有三个模块,分别是 corecheck VRRPcore 模块为 keepalived 的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check 负责健康检查,包括常见的各种检查方式。VRRP 模块是来实现 VRRP 协议的。

初始状态:

 

主机宕机:

 

主机恢复:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值