nginx+keepalived高可用方案

11 篇文章 2 订阅

nginx+keepalived高可用方案

什么是keepalived

Keepalived一个基于VRRP 协议来实现的 LVS
服务高可用方案,可以利用其来解决单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,
备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

keepalived 原理

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

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

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

在这里插入图片描述
示例:
nginx Master : 172.16.5.155
nginx Backup: 172.16.5.156

1、下载nginx安装包
nginx的官方网站
(1) 找到对应的安装包,右击复制链接地址

wget  http://nginx.org/download/nginx-1.12.2.tar.gz

2、解压此安装包

tar -zxvf nginx-1.12.2.tar.gz -C /usr/local/

3、切换到nginx的目录下进行配置

cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre --with-stream

4、编译及安装

make && make install 

注意:以上配置nginx Master 与 nginx Backup需要配置相同

5、配置环境变量

cat /etc/profile

内容如下:

export PATH=$PATH:/usr/local/nginx/sbin   ## 在文件的最下方进行添加此内容

变量生效

source /etc/profile

安装keepalived

yum -y install keepalived     

查看及配置keepalived的主配置文件

cat /etc/keepalived/keepalived.conf

内容如下:

! Configuration File for keepalived

global_defs {
   notification_email {
     admin@qq.com   # 这个设置自己的邮箱地址
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 172.16.5.156
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state Master
    interface ens192
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.33/24
    }
}

注意:以上安装keepalived的配置主机和备机配置需相同,但/etc/keepalived/keepalived.conf的内容小作改动;

如下是nginx Backup高可用文件的内容

! Configuration File for keepalived

global_defs {
   notification_email {
     admin@qq.com   # 这个设置自己的邮箱地址
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 172.16.5.155
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state Backup
    interface ens192
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.33/24
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值