Skip to content

服务端部署使用教程 ​

服务端有两种部署方式,按官方 README 的说明:

  • 方式一:GitHub Fork + Cloudflare 一键连接 —— 面板一键连接,最省事,推荐。
  • 方式二:wrangler CLI 本地部署 —— 代码托管在 Codeberg 时用这个。Cloudflare 的 Git 集成只支持 GitHub 与 GitLab,连不上 Codeberg。

两种方式部署出来的效果完全一样,区别只在「代码怎么上去」。

前置条件 ​

项目要求
Cloudflare 账号免费账号即可
代码一份服务端仓库副本(Fork 或 clone)
Node.js仅方式二需要,18 或更高(node -v 确认)

方式一:GitHub Fork + Cloudflare 一键连接 ​

第 1 步:Fork 本项目 ​

在 GitHub 打开服务端仓库,点右上角 Fork → 确认创建。

第 2 步:连接 GitHub 并部署 ​

  1. 打开 Cloudflare Dashboard → 左侧 Workers 和 Pages;
  2. 右上角 创建应用程序 → 选 Connect GitHub(不是「创建 Worker」);
  3. 首次使用会提示授权 GitHub → 点 Connect GitHub → 授权;
  4. 选 Continue with GitHub,在仓库列表里选中你刚 Fork 的服务端仓库;
  5. 项目名填 cf-phg-music-server(不能有下划线);
  6. 点 部署。

第 3 步:创建 D1 数据库 ​

左侧 存储和数据库 → D1 SQL 数据库 → 创建数据库,名称填 cf-phg-music-db。

第 4 步:把 D1 绑定到 Worker ​

  1. 进入刚部署的 Worker 项目 → 左上角菜单 绑定;
  2. 弹窗里选 D1 数据库 → 添加;
  3. 变量名称填 DB(必须大写),数据库选 cf-phg-music-db;
  4. 点 添加绑定。

第 5 步:改 API_KEY,加 PUBLIC_KEY 与管理员账号 ​

进入 Worker 项目 → 设置 → 变量和机密:

变量填什么
API_KEY你自己的密钥,一定要改。默认值写在公开仓库里,不改等于任何人都能访问你的接口
PUBLIC_KEY32 位 hex 字符串,供客户端访问用;不设置时该路由不可用
ADMIN_EMAIL管理后台登录邮箱
ADMIN_PASSWORD管理员初始密码,填你能记住的即可

API_KEY 是部署里最关键的一步

默认 API_KEY 是公开的。API_KEY 兼作 Owner Key,用于管理路由;PUBLIC_KEY 是 v1.0.10 新增的独立密钥,用于客户端路由,两者分开鉴权。

ADMIN_EMAIL / ADMIN_PASSWORD 只在第一次登录时用

账号建好后,再改这两个变量不会影响登录 —— 要改密码请到后台「系统设置 → 修改管理员密码」。

第 6 步:拿到访问地址 ​

设置 → 域和路由 → 复制 workers.dev 对应的值(形如 xxxx.workers.dev)。

用浏览器打开 https://xxxx.workers.dev/(根路径)就是管理后台。

第 7 步:注册域名(如需国内访问) ​

Workers 默认域名 *.workers.dev 在中国大陆无法访问,要绑自定义域名才能正常用。

README 里给的免费域名渠道:INDEVS.in(免费域名,单用户限 5 个,1 年有效期)等支持 Cloudflare 托管的平台。

第 8 步:把域名托管到 Cloudflare ​

绑自定义域之前,必须先把域名的 DNS 交给 Cloudflare,否则下一步会失败。

  1. Cloudflare → 域名 → 添加域名 → 输入你的域名 → 继续;
  2. 套餐选 Free(免费) → 继续;
  3. Cloudflare 会自动扫描现有 DNS 记录,确认后继续;
  4. 页面会给出两个名称服务器(形如 xxa.ns.cloudflare.com),复制;
  5. 到域名注册商后台,把名称服务器替换成这两个;
  6. 回 Cloudflare 点 完成,检查名称服务器,等状态变成「活跃」(几分钟到数小时,最长 24 小时)。

第 9 步:绑定自定义域名 ​

Worker 项目 → 设置 → 域和路由 → 添加 → 选 自定义域 → 输入域名 → 添加域。

绑定完成后,https://你的域名/ 就是管理后台。

第 10 步:登录后台并初始化 ​

  1. 浏览器打开 https://你的域名/(根路径即后台,不需要带 API_KEY);
  2. 用第 5 步的 ADMIN_EMAIL 和密码登录;
  3. 进「音源插件」→ 在线导入 / 本地导入,添加你自己的音源脚本,支持批量启用、停用、删除;
  4. 进「系统设置」确认对外域名与部署信息,并改掉默认管理员密码;
  5. 点右上角「复制服务器地址」,粘到客户端设置页的服务器地址栏。

方式二:wrangler CLI 本地部署 ​

适用于代码托管在 Codeberg 的场景。

第 1 步:获取代码并装依赖 ​

bash
git clone https://codeberg.org/erikjamesgz/cf_phg_music_server.git
cd cf_phg_music_server
npm install

依赖里包含 QuickJS 的 WebAssembly 文件(约 500 KB),首次安装需要联网。

第 2 步:登录并部署 ​

bash
npx wrangler login     # 浏览器打开授权页,点 Allow
npx wrangler deploy

服务器上没有浏览器时,改用 API 令牌:Cloudflare 后台「我的个人资料 → API 令牌」按 Edit Cloudflare Workers 模板创建,然后

bash
export CLOUDFLARE_API_TOKEN=你的令牌      # Windows 命令行用 set

部署成功后会输出 Worker 地址,形如 https://cf-phg-music-server.你的账户.workers.dev。

第 3 步:后续配置 ​

从这一步起与方式一的第 3~10 步完全相同:创建 D1 → 绑定 DB → 配 API_KEY / PUBLIC_KEY 与管理员账号 → 登录后台 → 绑自定义域名。

D1 绑定在 Cloudflare 控制台做

D1 不写进 wrangler.toml:每个部署者的 database_id 都不一样,写死在配置里没有意义。请按方式一第 3、4 步在控制台创建数据库、绑定到 Worker,变量名用 DB。

部署或更新版本之后,顺手到 Worker 的「绑定」页确认 DB 还在;如果发现丢了,重新添加一次即可。

以后更新版本 ​

bash
git pull
npm install
npx wrangler deploy

验证部署 ​

bash
# 服务信息(注意路径是 /{apiKey}/status)
curl https://你的域名/<API_KEY>/status

返回 {"code":200,...} 且 serverVersion 正常即部署成功。

常见问题 ​

打开根路径是管理后台,为什么还需要 API_KEY? ​

管理后台页面本身不需要 API_KEY(登录走账号密码),但客户端连接服务器时要填 域名/API_KEY。登录后台后点右上角「复制服务器地址」可以直接拿到完整地址。

部署后登录提示「数据库未绑定」? ​

说明 Worker 上没有名为 DB 的 D1 绑定。到 Worker 项目 →「绑定」页确认有一条 D1 绑定、变量名是 DB、指向你自己的 cf-phg-music-db;没有就按第 4 步补一个,然后重新打开后台。

在面板改了变量,重新部署后又被改回去? ​

因为 wrangler deploy 会用 wrangler.toml 里的值覆盖面板中的同名变量。敏感项请改用 wrangler secret put,或从 [vars] 里移除。

国内访问不了 *.workers.dev? ​

这是默认域名的限制,不是部署失败。按第 7~9 步绑一个自定义域名即可。

免费套餐够用吗? ​

够。免费版每天 10 万次请求,按每人每天约 45 次请求估算,可支撑约 2000 人/天。具体配额见服务端架构。

必须用 GitHub 授权部署吗? ​

不必须,但 README 把「Fork + 一键连接」列为推荐路径(最省事)。代码在 Codeberg 上用方式二。

本站为项目信息索引站点:不提供、不存储、不传输任何音频内容;不内置、不分发任何插件。
反馈请走 联系与反馈,或加入 QQ 群 1016773775。