在当今互联网应用中,确保网站或Web服务7×24小时不间断运行至关重要。本文将手把手教你如何在Debian系统上搭建一套高可用Web架构,即使某台服务器宕机,用户访问也不会中断。无论你是运维新手还是开发人员,都能轻松上手!
高可用Web架构是指通过冗余设计、故障自动切换等技术手段,使Web服务在部分硬件或软件出现故障时仍能持续对外提供服务。核心目标是最小化停机时间,提升用户体验和业务连续性。
本教程采用以下组件构建Debian高可用Web架构:
假设你有4台Debian 12服务器,IP如下:
所有服务器需更新系统并安装基础工具:
sudo apt updatesudo apt upgrade -ysudo apt install -y net-tools curl vim 在WEB1和WEB2上安装Nginx和PHP:
sudo apt install -y nginx php-fpm# 创建简单测试页面echo "<h2>Welcome to WEB$(hostname | tail -c 2)</h2>" | sudo tee /var/www/html/index.html# 启动并启用服务sudo systemctl enable --now nginx php8.2-fpm 确保两台Web服务器可通过浏览器单独访问(如 http://192.168.1.20)。
在LB1和LB2上安装HAProxy:
sudo apt 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.20:80 check server WEB2 192.168.1.21:80 check 重启HAProxy:
sudo systemctl restart haproxysudo systemctl enable haproxy Keepalived用于管理虚拟IP(VIP),当主LB宕机时,备用LB自动接管。安装Keepalived:
sudo apt install -y keepalived 在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 123456 } virtual_ipaddress { 192.168.1.100/24 }} 在LB2(备)上配置类似,但修改两处:
vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 # 比主低 ...} 启动Keepalived:
sudo systemctl enable --now keepalived 现在,用户应通过虚拟IP 192.168.1.100 访问网站。刷新页面会看到请求轮流分配到WEB1和WEB2。
模拟故障:关闭LB1的Keepalived:
sudo systemctl stop keepalived 几秒后,LB2会自动接管VIP,服务不中断!这就是Web服务容灾方案的核心价值。
通过本教程,你已成功搭建了一套基于Debian的高可用Web服务器架构。该方案成本低、稳定性高,适用于中小企业或个人项目。记住定期备份配置,并监控系统状态。
掌握Debian负载均衡和故障转移技术,是你迈向专业运维的重要一步。赶快动手试试吧!
本文由主机测评网于2025-12-13发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025127335.html