keepalive+nginx高可用架构

keepalive+nginx架构

一.配置真实服务器web1和web2

1.关闭防火墙,并在真实服务器下载http服务

复制代码
[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install  httpd  -y

2.分别在web1和web2上制作网页,并开启http服务

复制代码
web1
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ls
[root@localhost html]# echo  zxy13 >  /var/www/html/index.html
[root@localhost html]# systemctl  start  httpd

web2
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ls
[root@localhost html]# echo  zxy14 >  /var/www/html/index.html
[root@localhost html]# systemctl  start  httpd

web1

web2

二.配置代理服务器

代理服务器:主192.168.240.11

备192.168.240.12

1.关闭防火墙,并安装epel源和nginx

复制代码
[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum  install epel-release.noarch  -y
[root@localhost ~]# yum  install nginx  -y

2.编辑nginx配置文件

在192.168.240.11上

配置文件http语句块下加入组和server语句块下加入location匹配实现负载均衡

3.将192.168.240.11代理服务器上/etc/nginx/nginx.conf文件远程拷贝到192.168.240.12的/etc/nginx/nginx.conf

4.安装下载keepalive服务,编辑配置文件

在192.168.240.11上 vim /etc/keepalived/keepalived.conf

复制代码
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   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_script check_down {
        script  "/etc/keepalived/ng.sh"   
        interval 1
        weight -30
        fall  3
        rise 2
        timeout 2
}

vrrp_script check_down {
        script  "/etc/keepalived/ng.sh"   #指明脚本的位置   
        interval 1            #每隔1s 执行一次检测
        weight -30             #如果 脚本执行失败自动减少优先级30
        fall  3                # 3次不成功才标注为失败 
        rise 2                 #nginx  重新起来后检测两次成功 才真的成功  
        timeout 2               #超时时间  2s 
}



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.240.188  #修改ip
    }
     track_script {
     check_down
 }
    
}

5.在192.168.240.13(由于12机上环境不干净换机做)上 vim /etc/keepalived/keepalived.conf

复制代码
router_id LVS02  #修改为LVS02
   vrrp_skip_check_adv_addr
   #vrrp_strict  #注释关闭严格模式
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script check_down {
        script  "/etc/keepalived/ng.sh"
        interval 1
        weight -30
        fall  3
        rise 2
        timeout 2
}
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.240.188 #地址
    }
    track_script {
    check_down
    }
}

6.在客户机上测试

(1)curl 虚拟地址192.168.240.188

tcpdump客户机上抓包主服务器在发送报文

(2)关闭主服务器nginx使用ip a 查看 192.168.240.188 已经不在主服务器上

tcpdump客户机上抓包备服务器在发送报文

使用 ip a 命令查看备服务器192.168.240.13 ,192.168.240.188在备服务器上

启动主服务器

ip a 查看主服务器,192.168.240.188 在主服务器上被主服务器抢占

tcpdump -i ens33 host 224.0.0.18 -nn 在客户机查看

相关推荐
叫醒你笛莎37 分钟前
IGMP(Internet Group Management Protocol)与组播技术深度解析
网络
lulinhao43 分钟前
HCIA/HCIP基础知识笔记汇总
网络·笔记
暴走的YH1 小时前
【网络协议】三次握手与四次挥手
网络·网络协议
刘若水1 小时前
Linux: 进程信号初识
linux·运维·服务器
yuzhangfeng1 小时前
【云计算物理网络】数据中心网络架构设计
网络·云计算
zhu12893035562 小时前
网络安全的重要性与防护措施
网络·安全·web安全
阳小江2 小时前
Docker知识点
运维·docker·容器
网络研究院2 小时前
ChatGPT 的新图像生成器非常擅长伪造收据
网络·人工智能·安全·chatgpt·风险·技术·欺诈
只是橘色仍温柔3 小时前
xshell可以ssh连接,但vscode不行
运维·vscode·ssh
小吃饱了3 小时前
TCP可靠性传输
网络·网络协议·tcp/ip