在当今互联网时代,网站的稳定性和可用性至关重要。一旦服务器宕机,不仅影响用户体验,还可能造成业务损失。因此,搭建一套Centos高可用Web架构成为企业级应用的标配。本教程将手把手教你如何使用 CentOS 系统,结合 Keepalived 和 Nginx 实现一个简单但高效的高可用集群,即使一台服务器故障,网站依然可以正常访问。
高可用(High Availability, HA)是指系统在面对硬件或软件故障时,仍能持续提供服务的能力。在 Web 架构中,通常通过部署多台服务器,并配合负载均衡与故障转移机制,实现“一台挂了,另一台顶上”的效果。
在两台服务器上分别执行以下命令安装 Nginx:
yum install -y epel-releaseyum install -y nginxsystemctl start nginxsystemctl enable nginx 同样在两台服务器上安装 Keepalived:
yum install -y keepalived 编辑主节点的配置文件 /etc/keepalived/keepalived.conf:
global_defs { router_id LVS_DEVEL}vrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 weight -5 fall 2 rise 1}vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.100/24 } track_script { chk_nginx }} 创建健康检查脚本 /etc/keepalived/check_nginx.sh:
#!/bin/bashif [ $(ps -C nginx --no-header | wc -l) -eq 0 ]; then systemctl start nginx sleep 2 if [ $(ps -C nginx --no-header | wc -l) -eq 0 ]; then exit 1 fifiexit 0 赋予执行权限:
chmod +x /etc/keepalived/check_nginx.sh 备节点配置类似,只需修改以下几处:
vrrp_instance VI_1 { state BACKUP priority 90 # 必须低于主节点 ...} systemctl start keepalivedsystemctl enable keepalived 1. 在浏览器中访问虚拟 IP 地址 http://192.168.1.100,应能看到 Nginx 默认页面。
2. 手动关闭主节点的 Nginx 或 Keepalived:
systemctl stop nginx
3. 几秒后,虚拟 IP 会自动漂移到备节点,网站依然可访问——这就是负载均衡与故障切换的魅力!
通过本教程,你已成功搭建了一套基于 CentOS 的高可用Web架构。该方案成本低、稳定性高,适用于中小型 Web 应用。核心在于 Keepalived 实现 VIP 漂移,Nginx 提供反向代理与负载能力。掌握 Keepalived+Nginx 组合,是运维工程师的必备技能。
提示:生产环境中建议增加防火墙规则、日志监控和更完善的健康检查机制。
本文由主机测评网于2025-12-22发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251211343.html