当前位置: 首页 > news >正文

Nginx-keepalived-高可用

Nginx 高可用 通常 借助 Keepalived 实现, Keepalived 能通过 VRRP (虚拟路由冗余协议)让多个 Nginx 服务器 组成一个 热备集群,当主服务器故障时自动切换到备用服务器,保障服务不间断。

一、环境准备

角色IP 地址
主服务器(Master)192.168.159.129
备用服务器(Backup)192.168.159.130
虚拟IP(VIP)192.168.159.120
Keepalived版本1.4.5

二、源码安装 Keepalived 服务

2.1 在节点 Mater 上安装 keepalived

# 安装依赖
yum install openssl-devel libnl3-devel ipset-devel -y
yum install libnfnetlink-devel -y# 下载源码
wget https://www.keepalived.org/software/keepalived-1.4.5.tar.gz# 解压
tar -zxvf  keepalived-1.4.5.tar.gzcd keepalived-1.4.5./configure --prefix=/usr/local/keepalivedmake && make install

2.1.1 配置文件配置

# 配置文件 keepalived.conf 配置
mkdir -p /etc/keepalivedvim keepalived.conf# 配置文件内容
! Configuration File for keepalivedglobal_defs {router_id NGINX_MASTERscript_user rootenable_script_security
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1mcast_src_ip 192.168.159.129authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.159.200}
}

2.1.2 把keepalived 配置成系统命令

  • 创建 服务文件

    vim /etc/systemd/system/keepalived.service[Unit]
    Description=Keepalived High Availability Service
    After=network.target[Service]
    Type=forking
    PIDFile=/var/run/keepalived.pid
    ExecStart=/usr/local/keepalived/sbin/keepalived --pid=/var/run/keepalived.pid --config=/etc/keepalived/keepalived.conf
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure[Install]
    WantedBy=multi-user.target
    
  • 重新加载 Systemd 配置并启动服务

    sudo systemctl daemon-reload
    sudo systemctl start keepalived
    sudo systemctl enable keepalived
    
  • 检查服务状态

    sudo systemctl status keepalived
    

2.2 在节点 Backup 上安装 Keepalived

安装方法与 Master 一致, 配置文件 keepalived.conf 需要修给为以下

! Configuration File for keepalivedglobal_defs {router_id NGINX_BACKUPscript_user rootenable_script_security
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 51priority 90advert_int 1mcast_src_ip 192.168.159.130authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.159.200}
}

三、启动 keepalived 服务验证 VIP 是否挂起

在这里插入图片描述

四、安装 Nginx 服务器

pass

五、测试 Nginx

在 Master 上的 Nginx 的 HTML配置 MASTER

在 Backup 上的 Nginx 的 HTML 配置 Buckup

5.1 访问虚拟 IP 192.168.159.200

在这里插入图片描述

5.2 把 Master 的 keepalived 关闭,模拟服务故障

在这里插入图片描述
发现 VIP 192.168.159.200 切换到 备用服务器,访问 192.168.159.120
在这里插入图片描述


http://www.mrgr.cn/news/97386.html

相关文章:

  • Nginx 负载均衡案例配置
  • RAG 架构地基工程-Retrieval 模块的系统设计分享
  • 深度学习环境安装
  • 蓝桥杯嵌入式第十四届模拟二(PWM、USART)
  • K8S学习之基础七十四:部署在线书店bookinfo
  • Nginx 配置文件解析
  • 如何让 -webkit-slider-thumb 生效
  • c++项目 网络聊天服务器 实现;QPS测试
  • 【HFP】蓝牙HFP应用层核心技术研究
  • 算法基础—前缀和
  • 深入解析多功能模糊搜索:构建高效灵活的JavaScript搜索工具析
  • Java 集合框架与 Stream 流深入剖析(重点详细讲解)
  • ffmpeg视频转码相关
  • Python星球日记 - 第5天:循环结构
  • 个人博客系统——测试报告
  • Python----计算机视觉处理(Opencv:道路检测之提取车道线)
  • 4.nRF52xx蓝牙学习(GPIOTE与外部中断)
  • Docker基础2
  • 【前端】Node.js一本通
  • 红宝书第二十九讲:详解编辑器和IDE:VS Code与WebStorm