【NGINX】 -10 keepalived + nginx + httpd 实现的双机热备+ 负载均衡

文章目录


1、主架构图

1.1 IP地址规划

服务器 IP地址
web1 192.168.107.193
web2 192.168.107.192
nginx1 192.168.107.12
nginx2 192.168.107.11

2、web服务器操作

注:web1和web2操作相同

js 复制代码
#安装httpd服务
 yum install -y httpd
#定制特制页面
cd /var/www/html/
ls
echo "7-1" > index.html
#开启httpd服务
systemctl start httpd.service
#查看服务是否开启
[root@localhost html]# systemctl status httpd.service

结果:

web2与web1服务相同


3、配置nginx服务器的负载均衡

js 复制代码
#安装nginx
yum install  -y  nginx
systemctl start nginx
#更改配置文件,配置upstream模块
vim   /etc/nginx/nginx.conf

 upstream web  {
    server 192.168.107.193;
    server 192.168.107.192;
    }


 location /  {
         proxy_pass  http://web;
        }

验证负载均衡

同样的操作,我们在nginx2上配置一样

验证负载均衡

4、配置keepalived

4.1 master

js 复制代码
#安装keepalived
yum install keepalived   -y

#更改配置文件
[root@localhost ~]# vim /etc/keepalived/keepalived.conf 
#配置文件如下
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS01
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.107.188
    }
}

4.1 backup

js 复制代码
#安装keepalived
yum install keepalived   -y

#更改配置文件
[root@localhost ~]# vim /etc/keepalived/keepalived.conf 
#配置文件如下
  }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS02
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 80
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.107.188
    }

5、测试双机热备

5.1 两台keepalived服务器均开启

在客户端上访问vip地址

检测流量的来源:结果为master在转发

5.2 模拟master节点故障

在master上模拟keepalived服务down掉

[root@localhost ~]# systemctl stop keepalived.service

再次访问vip地址

发现从master节点转到了backup节点

此时我们再次开启master节点上的keepalived服务

[root@localhost ~]# systemctl start keepalived.service

转发服务就会从backup上再次转到master上了

相关推荐
ONE_SIX_MIX2 分钟前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
龙飞052 分钟前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
春日见5 分钟前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡13 分钟前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
消失的旧时光-194319 分钟前
Linux 编辑器入门:nano 与 vim 的区别与选择指南
linux·运维·服务器
斯普信专业组21 分钟前
构建基于MCP的MySQL智能运维平台:从开源服务端到交互式AI助手
运维·mysql·开源·mcp
liu****1 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
池央1 小时前
CANN 诊断工具链深度解析:oam-tools 的自动化故障信息收集、软硬件状态快照与 AI Core 错误溯源机制
运维·人工智能·自动化
云边有个稻草人2 小时前
打工人摸鱼新姿势!轻量斗地主服务器,内网穿透让同事远程联机不翻车
运维·服务器·cpolar
乾元2 小时前
终端安全(EDR):用深度学习识别未知勒索软件
运维·人工智能·网络协议·安全·网络安全·自动化·安全架构