阿里云国际站:怎样配置双机热备方案?

createh54周前 (05-26)技术教程14

本文由【云老大】 TG@yunlaoda360 撰写

环境准备

  • 两台服务器 :假设服务器 A 的 IP 地址为 192.168.1.10,服务器 B 的 IP 地址为 192.168.1.11,两台服务器都安装了 CentOS 7 操作系统。
  • 安装 Nginx :在两台服务器上都安装 Nginx 作为 Web 服务器。

配置 Nginx

  • 服务器 A 和 B
  • 编辑 Nginx 配置文件(一般位于/etc/nginx/nginx.conf),配置相同的站点内容,例如:
  • 启动 Nginx 服务,命令为systemctl start nginx。

安装 Keepalived

  • 服务器 A 和 B
  • 使用 yum 安装 Keepalived:sudo yum install -y keepalived

配置 Keepalived

  • 服务器 A(主节点)
  • 编辑 Keepalived 配置文件(一般位于/etc/keepalived/keepalived.conf),内容如下:
  • 配置解释:
  • global_defs:定义全局参数,notification_emailnotification_email_from用于设置故障通知的邮箱信息,router_id是虚拟路由器的标识,vrrp_skip_check_adv_param用于跳过某些广告参数的检查,vrrp_garp_interval设置免费 ARP 的间隔时间,vrrp_gna_interval设置发送免费 ARP 的间隔时间。
  • vrrp_script:定义一个脚本检查 Nginx 的状态,script指定检查的脚本路径,interval设置检查间隔,weight表示脚本检查失败后的权重变化。
  • vrrp_instance:定义虚拟路由器实例,state MASTER表示当前节点是主节点,interface指定绑定的网络接口,virtual_router_id是虚拟路由器的 ID,必须保证唯一性,priority表示节点的优先级,主节点的优先级高于备节点,advert_int是 VRRP 广告间隔,authentication设置认证方式和密码,virtual_ipaddress定义虚拟 IP 地址,客户端将通过这个 IP 访问服务,track_script引用前面定义的脚本检查。
  • 服务器 B(备节点)
  • 编辑 Keepalived 配置文件,内容与服务器 A 类似,但state为BACKUP,priority为 90。这样配置后,服务器 B 在正常情况下不会获取虚拟 IP,只有当服务器 A 出现故障时,才会接管虚拟 IP 并提供服务。

启动 Keepalived 服务

  • 服务器 A 和 B
  • 启动 Keepalived 服务:systemctl start keepalived
  • 设置开机自启:systemctl enable keepalived

测试双机热备

  1. 在客户端浏览器中访问虚拟 IP(192.168.1.100),正常情况下应该能够看到服务器 A 上 Nginx 返回的页面内容。
  2. 模拟服务器 A 故障,例如停止 Nginx 服务(systemctl stop nginx)或关闭服务器 A。
  3. 经过短暂的延迟后,再次访问虚拟 IP,应该能够看到服务器 B 上 Nginx 返回的页面内容,说明双机热备切换成功,服务器 B 接管了虚拟 IP 并继续提供服务。

相关文章

Python脚本监控管理nginx

Python脚本监控管理nginx在Linux环境中,Python脚本可以用来监控和管理Nginx服务器的进程状态、端口监听情况以及日志分析等。以下是一个基础的Python脚本示例,用于检查Nginx...

这篇文章教你看明白 nginx-ingress 控制器

主机 nginx一般 nginx 做主机反向代理(网关)有以下配置upstream order{ server 192.168.1.10:5001; server 192.168.1.11:5001;...

14 张图搞懂 Nginx 高性能网络工作原理 简单粗暴

在单进程的网络编程模型中。所有的网络相关的动作都是在一个进程里完成的,如监听 socket 的创建, bind、listen。再比如 epoll 的创建、要监听事件的添加,以及 epoll_wait...

揭秘DNS中的“万能便签”:TXT记录的配置与妙用

你是否曾在配置网站服务、设置企业邮箱,或申请SSL证书时,被要求添加一条奇奇怪怪的“TXT记录”?这条看似不起眼的记录,在域名解析的世界里却扮演着至关重要的角色。今天,我们就来深入浅出地聊聊DNS中的...

如何启用 HTTPS 并配置免费的 SSL 证书

在 Linux 服务器上启用 HTTPS 并配置免费的 SSL 证书(以 Let's Encrypt 为例)可以通过以下步骤完成:---### **一、准备工作**1. **确保域名已解析**...