服务器集群教程:从零搭建高可用Web集群实操

服务器集群的核心思路是用多台服务器分担流量和风险,避免单点故障。
对零基础用户来说,最容易落地的起点是用 Nginx 做负载均衡,把请求分发到后端的多个 Web 节点。
下面以两台 Web 服务器和一台 Nginx 调度器为例,说明完整的搭建和验证过程。

准备条件与网络规划

开始之前需要确认几个前提。
所有服务器建议使用同一内网环境,系统以 CentOS 7 或 Ubuntu 20.04 为例,Nginx 版本不低于 1.18。
假设你已有三台机器,IP 规划如下:

  • Nginx 调度器:192.168.1.10
  • Web 节点 A:192.168.1.11
  • Web 节点 B:192.168.1.12

每台机器都需要关闭防火墙或放行 80 端口,并确保时间同步。
如果使用云服务器,安全组中也要放行 80 端口。
检查连通性可以用 ping 或 curl。

在 Web 节点上安装 Nginx 或 Apache 作为后端服务,这里以 Nginx 为例:

# CentOS
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

安装完成后,分别在两个节点上创建不同的测试页面,便于观察负载均衡效果。
例如节点 A 的 /usr/share/nginx/html/index.html 写入 This is node A,节点 B 写入 This is node B。

配置Nginx负载均衡

在调度器 192.168.1.10 上安装 Nginx,然后编辑配置文件。
路径通常是 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf。

在 http 块内添加 upstream 定义,并在 server 块中配置代理转发:

http {
    upstream web_cluster {
        server 192.168.1.11:80 weight=1;
        server 192.168.1.12:80 weight=1;
    }

    server {
        listen 80;
        server_name _;

        location / {
            proxy_pass http://web_cluster;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

保存后检查语法并重载:

sudo nginx -t
sudo systemctl reload nginx

如果 nginx -t 报错,通常是缺少分号或括号不匹配,根据提示行号修改即可。

验证集群是否生效

在任意一台能访问调度器的机器上,多次执行:

curl http://192.168.1.10

如果返回内容在 This is node A 和 This is node B 之间交替出现,说明负载均衡已经工作。
默认轮询策略下,请求会依次分发。

还可以用 ab 或 curl 循环测试:

for i in {1..10}; do curl -s http://192.168.1.10; done

观察输出是否均匀分布。
如果只返回一个节点的内容,检查另一个节点的 Nginx 是否启动、防火墙是否放行,以及 upstream 中的 IP 和端口是否正确。

常见问题与避坑建议

节点返回 502 Bad Gateway:说明 Nginx 无法连接到后端。
先在调度器上 curl http://192.168.1.11 测试连通性,再检查后端 Nginx 是否监听 80 端口(ss -tlnp | grep 80)。
如果后端服务正常,检查云服务器安全组或本机防火墙。

负载不均衡:默认轮询是均匀的,但如果某个节点响应慢,Nginx 会暂时减少分发。
可以调整 weight 权重,或改用 ip_hash 让同一 IP 固定访问同一节点。

修改配置后不生效:每次修改 upstream 或 server 块后,必须执行 nginx -t 检查语法,然后 systemctl reload nginx。
直接重启会中断现有连接,生产环境优先用 reload。

单点故障:上面的架构中调度器本身还是单点。
如果调度器宕机,整个集群不可用。
要进一步高可用,需要部署两台 Nginx 调度器,配合 Keepalived 做 VIP 漂移。
这属于进阶内容,建议先跑通基础集群再尝试。

下一步可以做什么

基础集群搭建完成后,可以继续扩展:给后端节点加上健康检查(Nginx 开源版支持被动检查,商业版支持主动检查),或者用 Docker 快速复制节点。
如果网站有数据库,还需要考虑数据库的主从复制,避免数据层成为新的单点。

适用条件提醒:本文示例适用于内网环境或云服务器内网互通场景,不涉及公网安全加固。
生产环境还需要配置 HTTPS、访问日志分析和监控告警。
如果只是学习测试,按上述步骤操作即可;
如果用于正式业务,建议先在测试环境完整验证,再迁移到生产。

分享到:
上一篇
服务器安全教程:从裸机到基础加固的完整操作流程
下一篇
服务器监控教程:用Prometheus+Grafana搭建可视化告警系统
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意