在当今互联网应用中,服务的连续性和稳定性至关重要。为了确保网站或Web应用7×24小时不间断运行,构建一套RockyLinux高可用Web架构成为企业级部署的首选方案。本教程将手把手教你如何在RockyLinux系统上搭建一个具备高可用Web服务器能力的集群环境,即使某台服务器宕机,用户访问也不会中断。
什么是高可用架构?
高可用(High Availability, HA)是指系统在出现硬件或软件故障时,仍能持续提供服务的能力。通常通过冗余设计、自动故障检测与切换来实现。在Web场景中,我们常使用负载均衡器 + 多台后端Web服务器 + 共享存储/数据库同步的方式构建HA架构。

所需组件与环境准备
至少3台RockyLinux 9服务器(2台Web节点 + 1台负载均衡节点,建议再加1台备用) 静态IP地址分配 关闭防火墙或开放必要端口(80、443、22、2224等) 同步系统时间(使用chrony或ntp)步骤一:配置两台Web服务器
首先,在两台服务器(web1 和 web2)上安装Apache Web服务:
# 在web1和web2上执行sudo dnf install -y httpdsudo systemctl enable --now httpd# 创建简单测试页面echo "<h2>Welcome to Web Server 1</h2>" | sudo tee /var/www/html/index.html # web1# 在web2上改为 Web Server 2
步骤二:安装并配置HAProxy负载均衡器
在第三台服务器(lb)上安装HAProxy:
sudo dnf install -y haproxy
编辑配置文件
/etc/haproxy/haproxy.cfg,在末尾添加以下内容:
frontend http_front bind *:80 stats uri /haproxy?stats default_backend http_backbackend http_back balance roundrobin server web1 192.168.1.101:80 check server web2 192.168.1.102:80 check
启动HAProxy:
sudo systemctl enable --now haproxy
步骤三:配置Keepalived实现VIP故障转移
为避免单点故障,我们使用Keepalived在两台负载均衡器之间实现虚拟IP(VIP)漂移。这里我们先在主LB(lb1)和备LB(lb2)上安装Keepalived:
sudo dnf install -y keepalived
主LB(lb1)配置
/etc/keepalived/keepalived.conf:
vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass rockyha } virtual_ipaddress { 192.168.1.100/24 }}备LB(lb2)配置类似,只需将
state MASTER改为
BACKUP,
priority设为 90。
启动Keepalived:
sudo systemctl enable --now keepalived
验证高可用性
现在,所有用户应通过虚拟IP
192.168.1.100访问网站。你可以刷新浏览器,看到页面在“Web Server 1”和“Web Server 2”之间轮询(取决于HAProxy策略)。
模拟故障:关闭web1服务器,刷新页面,应自动切换到web2;关闭主LB(lb1),VIP会漂移到lb2,服务依然可用。这正是RockyLinux故障转移机制的体现。
进阶建议
使用NFS或DRBD实现Web内容同步 数据库层也需高可用(如MariaDB Galera Cluster) 启用HTTPS(Let's Encrypt + HAProxy SSL Termination) 监控系统(Prometheus + Grafana)实时观察集群状态通过以上步骤,你已成功搭建了一套基于RockyLinux负载均衡与故障转移的高可用Web架构。即使单点故障发生,系统也能自动恢复,保障业务连续性。
提示:生产环境中请务必加强安全配置,如SELinux策略、防火墙规则、定期更新系统补丁等。
