1.
架构与前提说明
说明:本案例在台湾机房两台或多台Web节点(web1, web2)、两台负载均衡节点(lb1, lb2)+共享数据层(MySQL 主从或 Galera、Redis 作会话)上实现高可用。前提:服务器可配置私网、已开放SSH和必要端口。
2.
网络与安全组准备
操作:在租赁面板或云控制台打开私有网络;配置安全组:允许TCP 80/443、TCP 22、TCP 3306(仅内网)、TCP 6379(内网)、VRRP 协议(多为协议 112 需云厂商支持或允许)与健康检查端口;本地iptables/ufw简化规则并保存。
3.
安装基础软件
步骤:以Ubuntu为例:sudo apt update && sudo apt -y install nginx haproxy keepalived mysql-server redis-server certbot;配置 nginx 在 /etc/nginx/sites-available/ 网站根,启用后 systemctl restart nginx。确保每台Web节点页面返回唯一标识便于测试(index.html 写 web1/web2)。
4.
配置数据库高可用
方法:简单主从:在主库 my.cnf 开启 binary-log、server-id=1;在从库设置 server-id=2 并用 CHANGE MASTER TO 指向主库;启动复制并执行 SHOW SLAVE STATUS。更强方案使用 Galera 集群(MariaDB Galera),按官方文档配置三节点同步复制并保证同步。
5.
会话与共享存储
建议:使用 Redis 保存会话(session),Web 应用改为使用 Redis 驱动(PHP 可用 phpredis 或 predis);安装并配置 redis 密码和绑定内网地址,调整 maxmemory 策略。静态文件采用对象存储或 NFS,NFS 在私网搭建并挂载到 /var/www/shared。
6.
Keepalived VRRP 配置(浮动IP)
配置示例:/etc/keepalived/keepalived.conf:定义 vrrp_instance VI_1 { state MASTER/ BACKUP; interface eth0; virtual_router_id 51; priority 100/90; authentication { auth_type PASS; auth_pass 你的密码 }; virtual_ipaddress { 10.0.0.100 } }。在主节点优先级较高,启动 keepalived 并检查 ip addr show 确认 VIP 存在。
7.
HAProxy 负载均衡配置与健康检查
步骤:在两台LB上安装 HAProxy,配置 /etc/haproxy/haproxy.cfg:frontend http-in 绑定 VIP:80,使用 acl https_redirect,backend webcluster 使用 balance roundrobin 或 leastconn,定义 server web1 10.0.0.11:80 check inter 2000 rise 2 fall 3;添加 option httpchk GET /health。启用 stick-table 或 cookie 以处理会话黏性(cookie SRV insert indirect nocache)。重启 haproxy 并通过 haproxy -c -f 检查配置。
8.
如何在台湾云主机上测试切换与容错? — 问
答:测试步骤:1) 在web1上禁用 nginx systemctl stop nginx,2) 观察 HAProxy 状态或者 curl VIP:80 多次确认请求转到 web2,3) 在主LB故障时关掉 keepalived,确认备LB抢占 VIP 并继续提供服务;使用 curl、dig、tcpdump 做连通性与DNS解析测试。
9.
部署后如何监控与告警? — 问
答:建议安装 Prometheus + Node Exporter + HAProxy exporter + Grafana;设置 alertmanager,阈值示例:后端 5XX、响应延迟>2s、主库复制延迟>5s 触发告警。也可使用云厂商自带监控并配置短信/邮件告警。
10.
常见问题与运维注意事项? — 问
答:注意:1) VRRP 在部分云平台需使用漂浮IP或弹性IP替代;2) 确保健康检查路径轻量且能反映服务可用性;3) SSL 证书使用 Let’s Encrypt 在LB上终止并自动续期(certbot renew),4) 定期演练故障切换并记录变更。
来源:台湾租赁服务器云主机高可用部署案例与负载均衡配置教程