安装主控
主控是你自己的 CDN 管理后台,装一台就够。准备一台全新的服务器,在授权门户复制一键安装命令执行,安装过程中设好管理员,装完直接登录后台,再在后台里添加节点和网站。
系统需求
主控与节点都只支持 x86_64,需要全新安装的系统。安装器会先做一遍预检:“不通过”必须处理后才能继续,“警告”可以确认后继续。
最小需求:
- 操作系统:Ubuntu 24.04 正式支持;Ubuntu 22.04 / 20.04、Debian 10–13、Rocky / AlmaLinux / RHEL 8–10 兼容(RHEL 系 10 需 x86-64-v3)
- CPU:x86_64,需支持 SSE4.2
- 内存不少于 4G
- 磁盘不少于 10G
推荐配置:
- 2 核 CPU、8G 内存
- 磁盘 40G 以上,SSD 100G 更佳
网络:对外开放 TCP 443(或安装时填的 HTTPS 端口)和 TCP 80,以及安装结束时告知的两个网关端口;主控要能访问授权端 auth.cdnca.com 和安装包下载源。使用干净的系统,不要预装 Web 服务、数据库等环境;主控公网 IP 要与授权里登记的授权 IP 一致。节点的要求见系统要求。
安装方法
可以从下面选择适合你的安装方法:
- 方法 1:商业版一键安装命令。在授权门户生成,带一次性激活凭据,见下方安装过程。
- 方法 2:参数化无人值守安装。用参数直接给出管理端地址、端口、邮箱和管理员,适合批量部署,见主控安装。
- 方法 3:社区版。免激活、完全免费,源码与安装包在 GitHub 发布,见社区版。
一键安装命令的样子如下,实际以授权门户复制的为准(激活凭据由页面自动带上,24 小时内有效):
(f=$(mktemp) || exit 1; trap 'rc=$?; rm -f "$f"; exit $rc' EXIT; trap 'exit 130' INT; trap 'exit 143' TERM; { curl --proto '=https' --proto-redir '=https' -fsSL -o "$f" 'https://auth.cdnca.com/downloads/install-control.sh'; } || { rc=$?; echo '[cdnca-control] error: 无法下载安装脚本' >&2; exit $rc; }; { [ "$(head -c 2 "$f")" = '#!' ] && [ "$(tail -n 1 "$f")" = 'main "$@"' ]; } || { echo '[cdnca-control] error: 下载的安装脚本为空或不完整' >&2; exit 1; }; bash "$f" --licensing-server 'https://auth.cdnca.com')安装过程
下面按实际界面逐步说明,截图来自线上环境(IP、编号等已模糊)。
在授权门户登录
打开授权中心 auth.cdnca.com。还没有账号时点“注册帐号”,注册后登录。授权中心只管授权、安装命令、订单和余额,不是你的 CDN 后台。

生成安装命令
打开左侧“我的授权”,领取免费授权或购买授权后,点击本次要用的授权进入详情。

- 在“授权详情”核对“授权 IP”与服务器公网 IP 一致。不一致时先点“修改主控 IP”;未登记的 IP 下载安装脚本会返回 403。
- 在右侧“安装说明”点“一键安装脚本”→“生成安装命令”→“复制”。命令只显示这一次,只用于自己的服务器,不要发给他人或贴到公开工单。

在服务器上执行
以 root 登录服务器,粘贴整条命令执行,不需要另外拼接下载地址或激活参数。安装器共 12 个步骤,逐步显示当前步骤、整体进度和预计剩余时间,完整输出写入 /var/log/cdnca-install-control-*.log:
- 环境预检并填写管理端地址
- 安装基础工具
- 确认激活凭据与管理员账号
- 下载并校验安装包
- 安装依赖(PostgreSQL、ClickHouse、Redis、ClamAV、RustFS)
- 生成主控身份与证书
- 下载节点安装包与组件
- 初始化数据库与消息服务
- 激活授权
- 初始化管理端数据
- 启动服务并自检
- 整理安装结果
终端里每一步完成时显示“✓ [第几步/12] 步骤名 完成”,失败时显示“✗ [第几步/12] … 失败”和上方的 error 行。只看到下载完成或解压完成时不要关闭终端。
填写提示
安装器会依次询问以下内容:
| 提示 | 怎么填 |
|---|---|
| 管理端公网域名或 IP | 管理员和用户访问后台用的地址,例如 console.cdnca.com;用域名时先确认解析正确 |
| HTTPS 端口 | 默认 443;用其他端口时,之后的访问地址都要带上这个端口 |
| 证书联系邮箱 | 能收信的邮箱,用于 HTTPS 证书申请;它不是管理员登录名 |
| 管理员用户名 | 自己设置,没有通用默认账号;小写字母开头,3–128 位,可用小写字母、数字、下划线、点和连字符 |
| 管理员密码 | 8–1024 位,至少包含大写字母、小写字母、数字、符号中的两种,不能含空格或中文;输入时屏幕不显示字符,按提示再输一次 |
已有可信的公网证书时,用 --public-cert-file 和 --public-key-file 指定证书与私钥文件,安装器就不再申请证书。
安装完成
终端出现 control-api installed, activated and ready 表示安装完成。安装结束时还会告知两个网关端口(节点注册、节点通道),在主机防火墙和云安全组放行 TCP 443、80 和这两个端口。可以在服务器上确认四个服务都为 active:
systemctl is-active cdnca-control-api cdnca-agent-gateway cdnca-control-nats cdnca-control-web回到授权门户的授权详情,“授权 IP”“授权域名”应显示这台主控上报的值。
首次登录后台
在浏览器打开 https://你的管理域名/dashboard/login(端口不是 443 时带上端口),用刚设置的管理员用户名和密码登录。终端里打印的 Control plane URL 不带端口,以你填的端口为准。


添加第一个节点
进入“节点管理 → 节点列表”,点“安装节点”,选择“复制命令安装”,再点“复制安装命令”,到节点服务器上以 root 执行。所有节点用同一条命令,不需要先手动添加节点。


节点执行完命令后出现在“待初始化”,点“初始化”并选择区域;节点转为“正常”后,到“线路分组”新增分组并把节点 IP 加进去。详细步骤见节点安装。

添加第一个网站
进入“网站管理 → 网站列表”,点“添加网站”,选所属用户和用户套餐,填网站域名和源站地址,点“创建网站”。列表里出现 CNAME 后,到 DNS 服务商把域名解析到这个 CNAME。


要启用 HTTPS,先在“网站管理 → 证书管理”申请或上传证书,再到网站的“HTTPS设置”里绑定,见配置 HTTPS 证书。

系统服务与开机自启
安装器已把主控注册为 systemd 服务并设为开机自启,异常退出时自动重启,不需要再手动安装系统服务。主控由四个服务组成:
- cdnca-control-api:主控接口
- cdnca-agent-gateway:节点网关
- cdnca-control-nats:消息服务
- cdnca-control-web:管理后台
查看日志:
journalctl -u cdnca-control-api -n 200 --no-pager重启命令见重启。
升级、重装、迁移与卸载
社区版
社区版免激活、完全免费,采用 AGPL-3.0 许可证,代码内置社区授权,不需要在授权门户购买或激活。社区版源码与安装包在 GitHub(github.com/CDNCA/cdnca)发布,首个正式版即将发布,发布后本节会给出安装方式。
常见问题
下载安装脚本返回 403
- 现象
- 执行命令后终端显示 [cdnca-control] error: 无法下载安装脚本。
- 原因
- 主控服务器的公网 IP 还没在授权中心登记,或登记的不是出口 IP。
- 解决
- 在“我的授权”里把主控 IP 改成服务器的出口 IP 后,重新执行同一条命令。
预检“不通过”或“警告”
- 现象
- 安装器在第 1 步列出不通过或警告的项目。
- 原因
- “不通过”是硬性条件(系统版本、架构、内存、端口占用等);“警告”是建议项。
- 解决
- “不通过”必须处理后才能继续;“警告”可以确认后继续,或在命令末尾加 --yes。
激活凭据过期
- 现象
- 安装命令生成超过 24 小时后才执行,安装器报错退出。
- 原因
- 命令里的激活凭据 24 小时内有效。
- 解决
- 回授权详情重新生成安装命令。
输入密码时屏幕没有字符
- 现象
- 填写管理员密码时看不到输入的字符。
- 原因
- 这是隐藏输入,不是卡住。
- 解决
- 输完按回车,再按提示输一次确认。
装完浏览器打不开后台
- 现象
- 安装完成后访问管理域名没有响应或连接失败。
- 原因
- 常见是域名解析未生效、端口不对,或防火墙与云安全组没有放行 443 和 80。
- 解决
- 核对解析、公网 IP、实际端口和云安全组;地址要带 /dashboard/login,非 443 端口时带上端口。修改 DNS 后等待生效。
能打开但不能登录
- 现象
- 登录页能打开,输入账号密码后登录失败。
- 原因
- 没有默认 admin 账号,用户名是安装时自己设置的;或有服务没在运行。
- 解决
- 核对用户名和服务状态(四个服务都应为 active)。忘记密码见忘记管理员密码。
重新执行时提示已有安装状态
- 现象
- 重新执行命令时提示 existing control installation state 或 existing_state_requires_review。
- 原因
- 上一次安装在第 5–8 步之间失败,已写入部分状态。
- 解决
- 不要手工删目录凑成“全新”,把日志与失败步骤交技术支持,或换一台干净的服务器。
支持 ARM 架构吗?
- 现象
- 想在 ARM 服务器上安装。
- 原因
- 安装包只提供 x86_64(amd64)架构。
- 解决
- 请使用 x86_64 服务器。
更多排查见问题处理。