ubuntu系统安装 nginx 和 keeplived 集群

1、Nginx + Keepalived 集群概述

1.1 什么是 Nginx + Keepalived 集群

Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于网站的负载均衡和静态资源服务。而 Keepalived 是一款基于 VRRP 协议实现高可用的软件。将 Nginx 与 Keepalived 结合,可以构建一个高可用的负载均衡集群,确保在服务器故障时,业务能够无缝切换,提高系统的可靠性和稳定性。

1.2 集群实现高可用的优势

故障自动切换:当主服务器出现故障时,备用服务器能够自动接管,确保服务不间断。
负载均衡:通过 Nginx 可以将流量合理分配到多台后端服务器,提高资源利用率。
提高可用性:通过冗余设计,减少单点故障风险,提高系统的整体可用性。

2、环境准备

服务器角色IP操作系统
主节点192.168.148.1ubuntu 20.04
备用节点1192.168.148.2ubuntu 20.04
备用节点2192.168.148.3ubuntu 20.04
虚拟IP192.168.148.100

注意:确保所有服务器之间网络互通,可以通过 ping 命令测试

3、Nginx 安装与配置

自行安装

4、Keepalived 安装与配置

4.1 安装 Keepalived

sudo apt update
sudo apt install keepalived -y

4.2 配置 Keepalived

 vi  /etc/keepalived/keepalived.conf

Master 配置

global_defs {
    router_id keep01
}

vrrp_script chk_nginx {
    script "killall -0 nginx"
    interval 2
    weight -20
}

vrrp_instance VI_1 {
    state MASTER
    interface ens7
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.148.100
    }
    track_script {
       chk_nginx
    }
}

Backup1配置

global_defs {
    router_id keep02
}


vrrp_script chk_nginx {
    script "killall -0 nginx"
    interval 2
    weight -20
}


vrrp_instance VI_1 {
    state BACKUP
    interface ens7
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.148.100
    }
    track_script {
       chk_nginx
    }
}

Backup2配置

global_defs {
    router_id keep03
}


vrrp_script chk_nginx {
    script "killall -0 nginx"
    interval 2
    weight -20
}


vrrp_instance VI_1 {
    state BACKUP
    interface ens7
    virtual_router_id 51
    priority 98
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.148.100
    }
    track_script {
       chk_nginx
    }
}

启动 Keeplived

sudo systemctl start keepalived
sudo systemctl enable keepalived

5、测试与验证

5.1停止主节点的nginx或者keepalive或者直接关机

sudo systemctl stop keepalived
#或者
sudo systemctl stop nginx

通过命令

ip addr

检查 Backup1 和 Backup2,确认 虚拟IP 地址漂移到优先级最高的 Backup1,重新启动 Master 上的 Keepalived,VIP 地址会重新漂移回 Master。

5.2 客户端访问测试

从客户端访问 VIP 地址 192.168.1.200,确保可以正常访问后端服务。关闭 Master,验证 Backup1 是否能够接管流量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值