justhost
99cdn
dotdot
huocloud
huasaint
okkproxy

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

随着网站、应用、API、视频、软件下载等业务规模不断增长,CDN已经成为很多项目提升访问速度和稳定性的重要基础设施。

传统CDN服务虽然接入简单,但长期使用也存在一些问题:

  • 流量费用随着业务增长不断增加;
  • 节点、调度策略和数据路径无法完全掌控;
  • 部分业务存在合规、数据安全或者定制化需求;
  • 想打造自己的CDN服务,却需要投入大量研发成本。

因此,越来越多企业、IDC服务商以及技术团队开始考虑自建CDN

99CDN就是一套帮助用户快速搭建自有CDN网络的平台。它不是传统意义上的CDN流量销售商,而是一套CDN基础设施管理系统,用户可以利用自己的服务器资源部署边缘节点,搭建属于自己的内容分发网络

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

官方网站:https://www.99cdn.com

官方文档:https://docs.99cdn.com

99CDN是什么?

简单来说,99CDN提供的是一套“搭建CDN的工具”。

传统CDN模式:用户购买CDN服务 → CDN厂商提供节点 → 按流量或套餐收费

而99CDN模式:用户准备服务器资源 → 部署CDN节点 → 自主管理调度和缓存 → 构建自己的CDN网络

例如:

你拥有美国、日本、香港、新加坡等多个服务器节点,可以通过99CDN统一管理这些节点,然后根据用户地区、线路质量等因素进行流量调度。

最终形成:用户请求 → 最近节点 → 缓存内容 → 提升访问速度

对于拥有大量服务器资源的IDC、云服务商,或者希望长期降低CDN成本的企业来说,自建CDN可以提供更高的自主控制能力。

99CDN主要功能介绍

1. CDN节点管理

99CDN支持用户自行添加边缘节点。

节点服务器可以部署在不同地区,例如:

用户可以根据业务需求扩展节点数量。

在后台添加节点后,系统会生成对应安装命令,在节点服务器执行即可完成部署。

2. 智能调度管理

99CDN提供DNS与GTM(全局流量管理)功能。

通过节点健康状态、地区等信息,可以将用户请求分配到不同节点。

例如:

  • 亚洲用户访问亚洲节点;
  • 欧美用户访问欧美节点;
  • 某个节点异常时,可以切换到其他节点。

相比简单DNS轮询,自建CDN可以拥有更多调度控制能力。

3. 缓存加速能力

99CDN支持缓存功能,包括:

  • Slice Cache(分片缓存)
  • 多级缓存回源

对于大文件、软件下载、视频等场景,可以通过缓存机制减少源站压力。

典型架构:

用户

边缘节点缓存

区域节点

源站

通过多级缓存,可以降低源站压力,提高访问稳定性。

4. 安全防护功能

CDN不仅负责加速,也承担一定安全防护作用。

99CDN提供:

  • WAF Web应用防火墙
  • CC攻击防护
  • DDoS防护
  • 防盗链
  • 鉴权配置
  • 跨域访问配置

不同授权版本支持的功能可能存在区别,免费版本主要适合体验和基础使用。

5. 商业化运营能力

对于IDC或者云服务商来说,99CDN还提供商业化运营相关功能,例如:

  • 多租户管理
  • 套餐配置
  • 计费系统

可以基于自身服务器资源快速搭建类似CDN销售平台。

99CDN适合哪些用户?

1. 网站和业务量较大的企业

例如:

  • 视频网站
  • 下载站
  • 游戏业务
  • 图片资源站
  • API服务

大量流量业务使用传统CDN可能产生较高成本,自建CDN可以提高资源利用率。

2. IDC和云服务商

如果拥有大量服务器资源,可以利用99CDN搭建自己的CDN产品。

例如:

原本出租服务器资源,现在增加:

  • CDN加速服务
  • 防护服务
  • 企业网络优化服务

增加新的业务收入。

3. 对数据和网络路径有要求的企业

部分企业希望:

  • 掌控数据流向;
  • 自主管理节点;
  • 定制调度策略。

自建CDN可以提供更高控制权。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验
99CDN套餐方案

99CDN免费版本体验

根据实际测试,目前99CDN提供免费授权版本。

免费版本可以用于体验自建CDN功能。

例如:

  • 支持部署CDN节点;
  • 支持添加自定义服务器节点;
  • 免费版本测试可使用2个IP节点。

对于个人站长、小型项目,可以先使用免费版本了解整个CDN架构。

99CDN部署教程

下面介绍完整部署流程。

整个部署分为两部分:

  1. 安装管理端(主控服务器)
  2. 安装CDN节点服务器

架构如下:

管理端服务器
      |
      |
管理多个CDN节点
      |
-------------------
|        |          |
香港节点 日本节点 美国节点

一、准备服务器环境

管理端服务器要求

最低配置:

项目最低要求推荐配置
CPU1核4核以上
内存2GB8GB以上
硬盘50GB SSD200GB NVMe SSD

系统支持

支持:

  • CentOS 7.x
  • CentOS Stream 8/9
  • Ubuntu 18.04/20.04/22.04 LTS
  • Debian 10/11
  • Rocky Linux 8/9

注意:

目前暂不支持ARM架构。

二、同步服务器时间

安装之前建议检查服务器时间。

执行:

timedatectl

如果时间不准确,需要同步时间。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

Ubuntu/Debian:

apt update
apt install -y chrony

systemctl enable --now chrony

chronyc makestep

CentOS/Rocky:

yum install -y chrony

systemctl enable --now chronyd

chronyc makestep

时间异常可能导致安装失败。

三、安装99CDN管理端

1. 开放8060端口

99CDN管理后台默认使用:

TCP 8060

Ubuntu:

ufw allow 8060

CentOS:

firewall-cmd --permanent --add-port=8060/tcp

firewall-cmd --reload

同时需要检查云服务器安全组。

2. 执行安装命令

SSH连接管理端服务器。

执行:

curl -fsSL https://install.99cdn.com | bash

安装程序会自动部署相关组件。

包括:

等待安装完成。

完成后会显示后台访问地址:

http://服务器IP:8060

实操结果代码示意:

root@ecs-TXd6s:~# curl -fsSL https://install.99cdn.com | bash
[2026-08-12 01:50:36] =================================================================
[2026-08-12 01:50:36] 安装脚本 开始执行
[2026-08-12 01:50:36] 命令行参数: 
[2026-08-12 01:50:36] 安装配置: DOWNLOAD_URL=https://www.99cdn.com/filebox/version/ab26e6d5ce47feb900fd98d2250f8979, INSTALL_DIR=/opt/srv-biz
[2026-08-12 01:50:36] 系统时间: Wed Aug 12 01:50:36 CST 2026
[2026-08-12 01:50:36] =================================================================
[2026-08-12 01:50:36] === 开始安装服务 ===
[2026-08-12 01:50:36] 日志文件: /var/log/srv-biz-installer.log
[2026-08-12 01:50:36] 收集系统信息
[2026-08-12 01:50:36] 操作系统: Debian GNU/Linux 12
[2026-08-12 01:50:36] CPU: AMD EPYC 7K62 48-Core Processor
[2026-08-12 01:50:36] 内存: 967Mi
[2026-08-12 01:50:36] 磁盘使用情况:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/debian-root 20G 1.9G 18G 10% /
[2026-08-12 01:50:36] 检查系统环境...
[2026-08-12 01:50:36] 检查目录 /opt 的可用空间
[2026-08-12 01:50:36] 可用空间: 18073MB, 需要: 200MB
[2026-08-12 01:50:36] 环境检查通过
[2026-08-12 01:50:36] 开始下载安装包
[2026-08-12 01:50:36] 临时目录: /tmp/tmp.mmRVkGO2wl
[2026-08-12 01:50:36] 安装包路径: /tmp/tmp.mmRVkGO2wl/package.tar.gz
[2026-08-12 01:50:36] 开始下载: https://www.99cdn.com/filebox/version/ab26e6d5ce47feb900fd98d2250f8979
[2026-08-12 01:50:36] 下载尝试 1/3
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 67.7M 100 67.7M 0 0 21.1M 0 0:00:03 0:00:03 --:--:-- 21.1M
[2026-08-12 01:50:39] 下载成功: 68M
[2026-08-12 01:50:39] 验证安装包
[2026-08-12 01:50:39] 安装包大小: 71066839 字节
[2026-08-12 01:50:39] 检查安装包完整性
[2026-08-12 01:50:40] 创建验证目录: /tmp/tmp.mmRVkGO2wl/verify
[2026-08-12 01:50:42] 找到安装程序: ./setup
[2026-08-12 01:50:42] 安装包校验通过
[2026-08-12 01:50:42] 安装包验证通过
[2026-08-12 01:50:42] 安装目录不存在或为空,无需备份
[2026-08-12 01:50:42] 准备安装目录
[2026-08-12 01:50:42] 开始安装: 安装包=/tmp/tmp.mmRVkGO2wl/package.tar.gz, 备份目录=, 临时目录=/tmp/tmp.mmRVkGO2wl
[2026-08-12 01:50:42] 创建解压目录: /tmp/tmp.mmRVkGO2wl/extract
[2026-08-12 01:50:42] 解压安装包: /tmp/tmp.mmRVkGO2wl/package.tar.gz 到 /tmp/tmp.mmRVkGO2wl/extract
[2026-08-12 01:50:43] 解压完成,共 5 个文件
[2026-08-12 01:50:43] 获取解压包版本信息...
[2026-08-12 01:50:43] 执行解压包中版本命令: /tmp/tmp.mmRVkGO2wl/extract/asset/srv-biz -v
[2026-08-12 01:50:43] 解压包程序版本: srv-biz version v3.2.0
[2026-08-12 01:50:43] 找到安装程序: /tmp/tmp.mmRVkGO2wl/extract/setup
[2026-08-12 01:50:43] 切换到解压目录: /tmp/tmp.mmRVkGO2wl/extract
[2026-08-12 01:50:43] 执行安装程序...
[2026-08-12 01:50:43] ----------------------------------------

当前系统:debian 12

正在检查组件是否支持当前系统:
+------------+----------+--------------------+
| 组件 | 是否支持 | 支持的系统 |
+------------+----------+--------------------+
| postgresql | 支持 | almalinux 8/9/10 |
| | | centos 7/8/9/10 |
| | | debian 10/11/12/13 |
| | | rocky 8/9/10 |
| | | ubuntu 18/20/22/24 |
+------------+----------+--------------------+
| redis | 支持 | almalinux 8/9/10 |
| | | centos 7/8/9/10 |
| | | debian 10/11/12/13 |
| | | rocky 8/9/10 |
| | | ubuntu 18/20/22/24 |
+------------+----------+--------------------+

开始安装: postgresql
执行命令: apt-get "update"
执行命令: apt-get "install" "lsb-release" "curl" "gpg" "-y"
执行命令: sh "-c" "curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg --yes"
发行版:bookworm 是否归档:false
执行命令: sh "-c" "echo \"deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main\" > /etc/apt/sources.list.d/pgdg.list"
执行命令: apt-get "update"
执行命令: apt-get "install" "-y" "postgresql-14"
执行命令: sed "-i" "1 a listen_addresses = '*'" "/etc/postgresql/14/main/postgresql.conf"
执行命令: sed "-i" "/^max_connections/ c max_connections = 1000" "/etc/postgresql/14/main/postgresql.conf"
执行命令: sed "-i" "$ a host all all 0.0.0.0/0 md5" "/etc/postgresql/14/main/pg_hba.conf"
执行命令: sed "-i" "/^port/ c port = 53897" "/etc/postgresql/14/main/postgresql.conf"
执行命令: systemctl "enable" "postgresql"
⠋Synchronizing state of postgresql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable postgresql
执行命令: systemctl "restart" "postgresql"
could not change directory to "/tmp/tmp.mmRVkGO2wl/extract": 权限不够
CREATE ROLE
================================================================================
postgresql PGDATA目录: /var/lib/postgresql/14/main
postgresql 用户名: bless
postgresql 密码: 6Ra11f8dGVqOGQcn0O
postgresql 端口: 53897
postgresql 配置文件: /etc/postgresql/14/main/postgresql.conf
================================================================================
开始安装: redis
执行命令: apt-get "install" "lsb-release" "curl" "gpg" "-y"
执行命令: sh "-c" "curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg --yes"
执行命令: sh "-c" "echo \"deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main\" > /etc/apt/sources.list.d/redis.list"
执行命令: apt-get "update"
执行命令: apt-get "install" "redis-server" "-y"
执行命令: sed "-i" "s/bind 127.0.0.1/bind 0.0.0.0/g" "/etc/redis/redis.conf"
执行命令: sed "-i" "1 a requirepass \"x8TVovXUb3LFj0vcZJ\"" "/etc/redis/redis.conf"
执行命令: sed "-i" "s/^port *[0-9]\\+/port 33513/" "/etc/redis/redis.conf"
执行命令: systemctl "enable" "redis-server"
执行命令: systemctl "restart" "redis-server"
================================================================================
redis 密码: x8TVovXUb3LFj0vcZJ
redis 端口: 33513
redis 配置文件: /etc/redis/redis.conf
================================================================================
创建数据库: srv-biz-v3
could not change directory to "/tmp/tmp.mmRVkGO2wl/extract": 权限不够
CREATE DATABASE
执行命令: bash "-c" "cp -r asset/* /opt/srv-biz"
执行命令: bash "-c" "cp -r asset/.auth /opt/srv-biz"
执行命令: systemctl "daemon-reload"
执行命令: systemctl "enable" "srv-biz"
⠋Created symlink /etc/systemd/system/multi-user.target.wants/srv-biz.service -> /lib/systemd/system/srv-biz.service.
✅ 服务安装完成!
================================================================================
如果您使用的是云服务器,请在安全组中打开端口:8060

请使用您的浏览器访问服务地址进行初始化:http://ip:8060

密码重置命令:cd /opt/srv-biz && ./srv-biz reset-password

================================================================================

[2026-08-12 01:52:49] ----------------------------------------
[2026-08-12 01:52:49] 安装成功完成
[2026-08-12 01:52:49] 获取程序版本信息...
[2026-08-12 01:52:49] 执行: /opt/srv-biz/srv-biz -v
[2026-08-12 01:52:49] 程序版本: srv-biz version v3.2.0
[2026-08-12 01:52:49] === 安装成功 ===
[2026-08-12 01:52:49] 安装目录: /opt/srv-biz
[2026-08-12 01:52:49] =================================================================
[2026-08-12 01:52:49] 清理临时文件: /tmp/tmp.mmRVkGO2wl
执行命令: systemctl "start" "srv-biz"
[2026-08-12 01:52:49] 服务启动成功

四、初始化管理后台

浏览器打开:

http://你的服务器IP:8060

首次访问进入初始化页面。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

需要填写:

管理端通信地址

填写当前后台地址,例如:

http://154.36.*.***:8060

该地址需要保证节点服务器可以访问。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

设置管理员账号密码

填写:

  • 管理员账号
  • 管理员密码

完成初始化。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

五、激活授权

登录后台后,需要绑定授权。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验
99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

免费用户可以使用官方提供的免费授权Key。注册账号登录后访问:https://www.99cdn.com/workbench,即可查看免费版key。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

激活完成后即可进入管理后台。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

六、添加CDN节点服务器

管理端部署完成后,就可以添加边缘节点。

99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验

进入:

节点管理 → 节点列表

点击:

添加节点

填写:

  • 节点名称
  • 机房信息
  • 运营商
  • IP地址归属等

保存后,系统会生成节点安装命令。

后续配置比较简单,一步步操作即可,这里就不再赘述了。如果不知道怎么操作,官方也提供了演示站点https://www.52cdn.com/,比照参考进行即可!

七、安装节点程序

登录节点服务器。

执行后台生成的安装命令。

例如:

curl -fSL http://管理端IP:8060/.../node_install.sh -o install.sh && bash install.sh

等待安装完成。

返回管理后台:

节点状态会变为:

运行中

表示节点部署成功。

八、配置CDN加速站点

进入:

站点管理

添加需要加速的网站。

然后配置:

  • 源站地址
  • 缓存规则
  • 安全策略

99CDN会生成接入CNAME。

九、配置DNS解析

使用自己的DNS服务商。

例如:Cloudflare DNS。

添加CNAME:

你的业务域名

↓

99CDN提供的CNAME地址

完成解析后,用户访问域名即可进入CDN节点。

十、测试CDN效果

可以通过:

  • Ping测试
  • HTTP访问测试
  • 节点日志

查看请求是否进入CDN节点。

如果配置多个节点,根据用户地区可能访问不同边缘节点。

常用维护命令

管理端

查看状态:

systemctl status srv-biz

启动:

systemctl start srv-biz

重启:

systemctl restart srv-biz

查看日志:

tail -f /opt/srv-biz/storage/logs/server.log

重置密码:

cd /opt/srv-biz && ./srv-biz reset-password

CDN节点

查看状态:

99ctl status

启动:

99ctl start

重启:

99ctl restart

查看日志:

99ctl logs

设置开机启动:

99ctl enable

常见问题

1. 后台打不开怎么办?

检查:

  • 8060端口是否开放;
  • 云服务器安全组;
  • 管理服务是否运行。

查看:

systemctl status srv-biz

2. 节点安装失败怎么办?

检查:

  • 节点是否能访问管理端;
  • 管理端地址填写是否正确;
  • 防火墙是否限制访问。

节点测试:

curl http://管理端地址:8060

3. 安装依赖失败

很多情况下是服务器时间异常。

重新同步时间后再次安装。

总结

99CDN提供了一种新的CDN使用方式:

不是购买别人提供的CDN流量,而是利用自己的服务器资源搭建属于自己的CDN网络。

对于个人站长来说,可以通过免费版本体验自建CDN;

对于IDC、云服务商以及企业用户来说,可以利用99CDN快速搭建自己的全球加速平台。

当然,自建CDN也意味着需要自己负责服务器资源、节点质量以及网络优化。

如果你的业务规模较大,希望降低长期CDN成本,或者希望拥有更高的网络控制能力,99CDN提供了一种值得尝试的方案。

未经允许不得转载:老狗VPS测评 » 99CDN自建CDN教程:利用自己的服务器搭建全球加速网络,免费版部署体验
标签: