安装主控

主控是你自己的 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 后台。

授权中心登录页:左侧介绍授权中心,右侧是用户名或邮箱、密码、人机验证和“登入”按钮,下方有注册帐号与忘记密码
授权中心 auth.cdnca.com 登录页,还没有账号时点“注册帐号”。

生成安装命令

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

授权中心“我的授权”列表:上方是免费授权商品卡片,下方表格列出授权 ID、商品名称、授权 IP、授权域名、节点数量与到期时间
“我的授权”:领取或购买授权后在这里点授权进入详情。
  1. 在“授权详情”核对“授权 IP”与服务器公网 IP 一致。不一致时先点“修改主控 IP”;未登记的 IP 下载安装脚本会返回 403。
  2. 在右侧“安装说明”点“一键安装脚本”→“生成安装命令”→“复制”。命令只显示这一次,只用于自己的服务器,不要发给他人或贴到公开工单。
授权详情页:左侧购买信息与授权详情(授权 IP、授权域名、修改主控 IP),右侧“安装说明”清单、系统要求和“一键安装脚本”按钮,下方是换服务器步骤
授权详情右侧的“安装说明”。图中这份授权已经装过主控,所以“一键安装脚本”是灰的;新授权在这里生成并复制安装命令。

在服务器上执行

以 root 登录服务器,粘贴整条命令执行,不需要另外拼接下载地址或激活参数。安装器共 12 个步骤,逐步显示当前步骤、整体进度和预计剩余时间,完整输出写入 /var/log/cdnca-install-control-*.log:

  1. 环境预检并填写管理端地址
  2. 安装基础工具
  3. 确认激活凭据与管理员账号
  4. 下载并校验安装包
  5. 安装依赖(PostgreSQL、ClickHouse、Redis、ClamAV、RustFS)
  6. 生成主控身份与证书
  7. 下载节点安装包与组件
  8. 初始化数据库与消息服务
  9. 激活授权
  10. 初始化管理端数据
  11. 启动服务并自检
  12. 整理安装结果

终端里每一步完成时显示“✓ [第几步/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 不带端口,以你填的端口为准。

主控管理后台登录页:左侧品牌图,右侧用户名、密码输入框和“登录”按钮
主控后台登录页,地址是 https://你的管理域名/dashboard/login,用安装时设置的管理员账号登录。
主控管理端“服务概览”:左侧菜单(统计分析、节点管理、网站管理、套餐管理、系统管理等),中间运营数据和网络概览图表,右侧系统状态与系统授权
登录后进入“服务概览”:右侧“系统状态”三项都是绿色对勾,“系统授权”显示授权客户、节点数和到期时间。
主控安装完整文档 →

添加第一个节点

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

节点管理的节点列表:顶部页签节点列表、待初始化、同步失败已禁用、区域管理,左上角蓝色“安装节点”按钮,表格列出节点 IP、带宽、月流量与“正常”状态
“节点管理 → 节点列表”,左上角“安装节点”。
“安装节点”弹窗:复制命令安装页签,说明所有节点用同一条命令,命令区已模糊,下方“复制安装命令”和“重置注册凭据”按钮,以及节点初始化说明
“安装节点”弹窗:点“复制安装命令”,到节点服务器上以 root 执行(命令含注册凭据,图中已模糊)。

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

节点列表的“待初始化”页签:表格列出节点 IP、添加时间和操作,此时为空
“待初始化”页签:节点执行完命令后出现在这里,点“初始化”后才开始服务。
节点安装文档 →

添加第一个网站

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

“添加网站”弹窗:单个/批量切换,所属用户、用户套餐、网站域名、源站地址输入框,“高级设置”折叠区,底部“取消”和“创建网站”按钮
“添加网站”弹窗:选所属用户和套餐,填域名和源站,点“创建网站”。
网站管理的网站列表:左上角“添加网站”,表格列出域名、CNAME、HTTPS、源站与监听端口、套餐、状态与添加时间,域名和源站已模糊
“网站管理 → 网站列表”:建好的网站在这里查看 CNAME,复制后去 DNS 服务商改解析。

要启用 HTTPS,先在“网站管理 → 证书管理”申请或上传证书,再到网站的“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

重启命令见重启。

升级、重装、迁移与卸载

  • 升级:只在主控后台“系统管理 → 维护升级 → 系统升级”里升级,节点由主控统一推送;不要手工替换二进制文件。
  • 备份:在“维护操作 → 主控备份与迁移”里立即备份或设置定时备份与异地存储。
  • 迁移到新服务器:整机搬迁,沿用原安装,不需要新的安装命令。
  • 重装:安装失败时按失败的步骤处理,第 9 步(激活授权)及以后失败不要重复全新安装,见安装失败时。
  • 卸载主控:主控没有卸载脚本,需要彻底移除时请重装系统。卸载节点用节点上的卸载脚本。

社区版

社区版免激活、完全免费,采用 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 服务器。

更多排查见问题处理。