腾讯云 CLB (Cloud Load Balancer) 为例,详细讲解如何配置 Nginx 集群

发布于:2025-09-09 ⋅ 阅读:(19) ⋅ 点赞:(0)

好的,我们以腾讯云 CLB (Cloud Load Balancer) 为例,详细讲解如何配置 Nginx 集群,以及域名应该如何解析。

核心逻辑

在腾讯云架构中,域名不再解析到后端的任何一台 Nginx 服务器(CVM)的 IP 上,而是直接解析到腾讯云 CLB 的 VIP(即它的服务地址)上。CLB 会自动将流量分发到背后绑定的、健康的 Nginx 服务器上。

整个架构和数据流如下图所示:

flowchart TD
    A[用户访问域名<br>www.example.com]
    B[腾讯云DNS解析<br>DNSPod]
    C[腾讯云CLB实例<br>VIP: 123.123.123.123]

    subgraph D [Nginx服务器集群]
        D1[nginx-server-01<br>CVM-IP: 10.0.1.10]
        D2[nginx-server-02<br>CVM-IP: 10.0.1.11]
        D3[nginx-server-03<br>CVM-IP: 10.0.1.12]
    end

    subgraph E [后端应用实例]
        E1[App-01:8080]
        E2[App-02:8080]
        E3[App-03:8080]
    end

    A -- 1. DNS查询 --> B
    B -- 2. 返回CLB的VIP --> A
    A -- 3. 请求发送至CLB VIP --> C
    C -- 4. 根据规则分发流量 --> D
    D1 -- 5. 代理到应用实例 --> E
    D2 -- 5. 代理到应用实例 --> E
    D3 -- 5. 代理到应用实例 --> E
    E -- 6. 响应原路返回 --> A

具体配置步骤

第一步:准备基础设施
  1. 购买并部署多台 CVM(云服务器)
    • 在这些 CVM 上安装并配置完全相同的 Nginx。确保你们的 Web 服务可以正常访问。
    • 假设我们有两台 CVM:
      • nginx-server-01 (内网IP: 10.0.1.10)
      • nginx-server-02 (内网IP: 10.0.1.11)
    • 这些 CVM 最好在同一个私有网络(VPC) 内。
  1. 配置 Nginx
    • 在每台 Nginx 上,配置 upstream 指向你们最终的应用服务器(如 Tomcat, Node.js, Java 等)。
    • Nginx 自身的配置(如 server_name, root, proxy_pass 等)在所有机器上必须保持一致。
第二步:创建和配置腾讯云 CLB
  1. 购买 CLB 实例
    • 登录腾讯云控制台,进入 CLB 页面
    • 点击“新建”,选择实例类型(通常选择“公网”或“内网”)、所属网络等。公网CLB会自动分配一个公网IP(即VIP)。
  1. 配置监听器
    • 在CLB实例的详情页,点击“监听器管理”。
    • 点击“新建”一个监听器。
    • 协议和端口:选择 HTTP:80HTTPS:443(如果启用SSL)。
    • 调度算法:选择“轮询”、“加权轮询”等,根据业务需求。
  1. 绑定后端 Nginx CVM
    • 在监听器下面,点击“绑定对象”。
    • 选择“云服务器”选项卡,然后选择你之前创建的那两台 Nginx CVM (nginx-server-01nginx-server-02)。
    • 设置它们提供服务的端口(例如 80)。
    • 关键点:CLB 的健康检查会定期探测这些 CVM 的指定端口。如果某台 Nginx 宕机,CLB 会自动将其摘除,流量只会转发到健康的机器上。
第三步:配置域名解析(DNS)

这是最关键的一步,域名必须指向 CLB

  1. 获取 CLB 的 VIP
    • 在CLB实例列表页,找到你刚创建的CLB实例,其“VIP”地址就是你域名需要指向的地址。假设为 123.123.123.123
  1. 登录域名服务商控制台
    • 如果你的域名也在腾讯云(DNSPod),可以直接在 DNSPod 控制台 操作。
    • 如果不在,请登录你的域名服务商(如Godaddy, Namesilo, 阿里云万网)的管理后台。
  1. 添加解析记录
    • 找到你需要配置的域名(例如 www.example.com)。
    • 添加一条 A 记录
      • 主机记录www (如果你希望解析 www.example.com)
      • 记录类型A
      • 记录值123.123.123.123 (即你的CLB的VIP地址)
      • TTL:可以使用默认值,或设置为600秒(10分钟)。

总结与验证

  • 域名配置哪个IP? -> 配置腾讯云 CLB 的 VIP 地址
  • 为什么? -> 因为 CLB 提供了统一的人口,并自动实现了流量分发、健康检查和高可用。你后端的 Nginx 服务器可能会变(扩容、缩容、故障替换),但 CLB 的 VIP 是固定的,无需修改域名解析。

验证方法

  1. 在本地电脑的命令行中,使用 ping www.yourdomain.com,查看返回的IP地址是否是CLB的VIP。
  2. 访问你们的网站,并进行测试。
  3. 可以尝试关掉其中一台 Nginx 服务器的服务,观察网站是否依然可以访问(CLB健康检查需要一定时间,通常几十秒内会切换)。

网站公告

今日签到

点亮在社区的每一天
去签到