nginx高可用项目实战----keepalived

keepalived是什么?原理

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

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

    虚拟路由冗余协议,可以认为是实现高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

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

工作原理:keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单节点故障,keepalived是一VRRP协议来实现的,VRRP是虚拟路由冗余协议,在keepalived服务正常时,主master节点会不断的向备用节点发送心跳消息,用以告诉备用节点自己还活着,当主master节点发生故障时,就无法发送心跳消息,备用节点也就无法检测master的心跳了,于是就调用自身的接管程序,接管master节点的vip以及当前的服务,当master节点恢复时,因为master节点的优先级比较高,所以vip就会重新回到master,继续工作

 keepalived实现nginx高可用实操

实施过程

俩台nginx服务器作为代理服务器,配置nginx负载均衡,给两台代理服务器安装keepalived制作高可用集群,生成vip,

这里我们使用四台机器,两台作为代理服务器,;两台作为后端服务器,代理服务器一台作为主(master),一台作为备用(backup),

master   ip  192.168.126.140

backup  ip   192.168.126.133

nginx-1  ip   192.168.126.139

nginx-2  ip   192.168.126.142

1.nginx做负载均衡

master

vim  /etc/nginx/conf.d/default.conf

upstream webbackup {
        server 192.168.126.139:80;
        server 192.168.126.142:80;
}
server {
        listen 80;
        server_name localhost;
        location /{
                proxy_pass http://webbackup;
                proxy_redirect default;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

backup机器

vim  /etc/nginx/conf.d/default.conf

upstream webbackup {
        server 192.168.126.139:80;
        server 192.168.126.142:80;
}
server {
        listen 80;
        server_name localhost;
        location /{
                proxy_pass http://webbackup;
                proxy_redirect default;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

2.安装高可用软件keepalived

master和backup都要下载

[root@master ~]# yum -y install keepalived

[root@backup ~]# yum -y install keepalived

3.修改master的keepalived的配置文件

配置文件在 /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   router_id directory1   #辅助改为directory2
}

vrrp_instance VI_1 {
    state MASTER        #定义主还是备
    interface ens33     #VIP绑定接口
    virtual_router_id 80  #整个集群的调度器一致
    priority 100         #优先级,backup改为50
    advert_int 1                 #心跳检测的时间间隔1s
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.126.189/24   #注意在同一网段
    }
}

4.修改backup的keepalived的配置文件

! Configuration File for keepalived

global_defs {
   router_id directory2
}

vrrp_instance VI_1 {
    state BACKUP    #设置为backup
    interface ens33
    nopreempt        #设置到back上面,不抢占资源(VIP)
    virtual_router_id 80
    priority 50   #辅助改为50
    advert_int 1        #检测间隔1s
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.126.189/24     #注意要和master一致
    }
}

5.启动服务查看ip

[root@master ~]# systemctl start keepalived

[root@backup ~]# systemctl start keepalived

 6.两台后台客户端下载nginx,然后进行测试

这里为了方便了解,我修改了nginx访问页面

都启动nginx

然后访问vip  192.168.126.189

第二个页面

 

 配置成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值