从 Docker 到 Serverless:将 KinhWebEO 部署到 EdgeOne Pages

从 Docker 到 Serverless:将 KinhWebEO 部署到 EdgeOne Pages

MoGuQAQ Lv4

引言

KinhWeb 是一款基于百度网盘 API 的第三方文件管理工具,允许用户通过浏览器浏览、下载和预览百度网盘中的文件。随着 Serverless 技术的成熟,我们将其迁移到了腾讯云 EdgeOne Pages 平台,实现了零成本、免运维的部署方案。

本文将详细介绍如何利用 EdgeOne Pages 的免费套餐,快速搭建并部署 KinhWebEO(EdgeOne Serverless 版本),绑定自己的域名,实现境内合规访问,打造专属的 KinhWeb 资源站。

为什么从 Docker 迁移到 Serverless?

Docker 部署的痛点

  1. 需要服务器 :必须拥有一台云服务器(如 CVM),产生持续成本
  2. 运维负担 :需要维护操作系统、安全更新、监控告警等
  3. 扩容复杂 :流量增长时需要手动扩容或配置自动伸缩
  4. 成本不可控 :服务器费用是固定支出,即使无访问也会产生费用

Serverless 的优势

  1. 零成本起步 :EdgeOne Pages 提供永久免费套餐
  2. 免运维 :无需管理服务器,平台自动处理扩缩容
  3. 全球加速 :依托 EdgeOne 全球 3200+ 边缘节点,提供极速访问体验
  4. 内置安全防护 :免费提供 DDoS 防护、基础 WAF 防护
  5. 自动 HTTPS :免费 SSL 证书自动签发和续期

EdgeOne Pages 平台介绍

EdgeOne Pages 是腾讯云基于 EdgeOne 基础设施打造的前端开发和部署平台,专为现代 Web 开发设计。核心特性包括:

  • Git 一键部署 :连接 GitHub/GitLab 仓库,自动构建部署
  • 边缘函数 :支持 Edge Functions 和 Cloud Functions,实现全栈应用
  • 全球加速 :静态资源自动分发至全球边缘节点
  • 免费 SSL 证书 :自动签发和管理
  • 自定义域名 :支持绑定自己的域名

获取免费 EdgeOne Pages 套餐

免费套餐内容

EdgeOne Pages 提供永久免费的套餐,无需做任务无需领取,包含以下资源配额:

资源类别免费额度
网络流量与请求不限
Edge Functions每月 3,000,000 次请求,3,000,000 CPU 时间
Cloud Functions每月 1,000,000 次请求,500,000 GBs
KV 存储每月 1 GB
构建次数每月 500 次

注册与开通

  1. 访问 EdgeOne Pages
  2. 使用腾讯云账号登录
  3. 进入控制台即可开始部署

绑定自定义域名实现境内访问

前置条件

ICP 备案 :若加速区域选择“中国大陆可用区”或“全球可用区(含中国大陆)”,绑定的域名必须完成 ICP 备案。

绑定步骤

1. 添加自定义域名

  1. 登录 EdgeOne Pages 控制台,选择项目
  2. 进入「域名管理」页面
  3. 点击「添加自定义域名」
  4. 输入你的域名(如 kinh.example.com

2. 验证域名所有权

按照弹窗指引,在域名注册商处添加指定的 DNS 解析记录(通常为 TXT 记录),证明域名所有权。

3.配置 DNS CNAME 记录

验证成功后,系统会提供 CNAME 记录值。前往域名注册商,为对应域名添加 CNAME 记录,将流量指向 EdgeOne Pages。

4. 配置 HTTPS(SSL 证书)

  1. 在域名管理页面,进入 HTTPS 配置
  2. 点击「申请免费证书」
  3. 系统自动签发证书,无需额外付费
  4. 开启「HTTPS 强制跳转」

5. 启用性能优化(可选)

  • 启用 HTTP/2 :减少网络延迟,提升加载速度
  • 启用 IPv6 访问 :提供双栈访问能力

部署 KinhWebEO 到 EdgeOne Pages

项目架构

KinhWebEO 采用前后端分离架构:

  • 前端 :Next.js 15 + React 19 + WeUI(静态导出)
  • 后端 :Go + Gin 框架(EdgeOne 云函数)

部署步骤

1. 准备代码仓库

1
2
3
# 克隆项目
git clone https://github.com/mogumc/KinhWebEO.git
cd KinhWebEO

2. 配置后端环境变量

在 EdgeOne 云函数控制台设置以下环境变量:

变量名说明是否必填
BDUSS百度账号的 BDUSS Cookie
IS_VIP百度网盘会员类型(0=非会员,1=普通会员,2=超级会员)
ACCLINK加速链接,留空使用内置下载方案
API_PATH百度网盘 API 地址
TITLE站点标题
FOOT页脚文字

3. 配置前端环境变量

在 EdgeOne Pages 项目设置中添加:

  • NEXT_PUBLIC_API_BASE:后端 API 地址(留空则使用同源地址)

如无特殊要求建议留空

4. 部署到 EdgeOne Pages

方式一:Git 集成(推荐)

  1. 将代码推送到 GitHub/GitLab
  2. 在 EdgeOne Pages 控制台导入仓库
  3. 点击部署

方式二:直接上传

  1. 本地执行构建:npm run build
  2. out/ 目录压缩为 ZIP
  3. 在 EdgeOne Pages 控制台选择「直接上传」
  4. 上传 ZIP 文件
  5. 配置云函数
    1. 在 EdgeOne 控制台创建云函数
    2. 上传 cloud-functions/ 目录下的 Go 代码
    3. 设置运行时:Go
    4. 配置环境变量(参考步骤 2)
    5. 部署云函数

验证部署

  1. 访问 EdgeOne Pages 提供的默认域名
  2. 测试文件列表、下载、预览等功能
  3. 绑定自定义域名(参考上一节)
  4. 完成 ICP 备案(如需境内访问)

成本对比

部署方式月度成本运维成本扩展性
Docker(CVM)¥50-200+手动扩容
EdgeOne Pages 免费套餐¥0自动伸缩

常见问题

1. 免费套餐有时间限制吗?

没有。EdgeOne Pages 免费套餐永久有效,且在当前阶段超额使用也不会中断服务。

2. 需要绑定域名才能访问吗?

不需要。但是建议绑定,对于境内平台,只提供限时的临时域名;对于境外平台,不绑定私有域名在境内无法访问。

3. 如何获取百度 BDUSS?

  1. 登录百度网盘网页版
  2. 打开浏览器开发者工具(F12)
  3. 切换到「Application」标签
  4. 在「Cookies」中找到 BDUSS 的值

4. 支持哪些文件预览?

支持图片(JPG、PNG、GIF 等)、视频(MP4、WebM 等)、音频(MP3、WAV 等)的在线预览。

5. 如何更新部署?

  • Git 集成 :推送代码到仓库,自动触发构建部署;使用Github的Fork功能快速合并更新
  • 直接上传 :重新上传构建后的文件

项目地址KinhWebEO GitHub

文档参考

  • 标题: 从 Docker 到 Serverless:将 KinhWebEO 部署到 EdgeOne Pages
  • 作者: MoGuQAQ
  • 创建于 : 2026-05-21 15:57:48
  • 更新于 : 2026-05-21 15:57:48
  • 链接: https://blog.moguq.top/posts/26052101/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论