从 Docker 到 Serverless:将 KinhWebEO 部署到 EdgeOne Pages
引言
KinhWeb 是一款基于百度网盘 API 的第三方文件管理工具,允许用户通过浏览器浏览、下载和预览百度网盘中的文件。随着 Serverless 技术的成熟,我们将其迁移到了腾讯云 EdgeOne Pages 平台,实现了零成本、免运维的部署方案。
本文将详细介绍如何利用 EdgeOne Pages 的免费套餐,快速搭建并部署 KinhWebEO(EdgeOne Serverless 版本),绑定自己的域名,实现境内合规访问,打造专属的 KinhWeb 资源站。
为什么从 Docker 迁移到 Serverless?
Docker 部署的痛点
- 需要服务器 :必须拥有一台云服务器(如 CVM),产生持续成本
- 运维负担 :需要维护操作系统、安全更新、监控告警等
- 扩容复杂 :流量增长时需要手动扩容或配置自动伸缩
- 成本不可控 :服务器费用是固定支出,即使无访问也会产生费用
Serverless 的优势
- 零成本起步 :EdgeOne Pages 提供永久免费套餐
- 免运维 :无需管理服务器,平台自动处理扩缩容
- 全球加速 :依托 EdgeOne 全球 3200+ 边缘节点,提供极速访问体验
- 内置安全防护 :免费提供 DDoS 防护、基础 WAF 防护
- 自动 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 次 |
注册与开通
- 访问 EdgeOne Pages
- 使用腾讯云账号登录
- 进入控制台即可开始部署
绑定自定义域名实现境内访问
前置条件
ICP 备案 :若加速区域选择“中国大陆可用区”或“全球可用区(含中国大陆)”,绑定的域名必须完成 ICP 备案。
绑定步骤
1. 添加自定义域名
- 登录 EdgeOne Pages 控制台,选择项目
- 进入「域名管理」页面
- 点击「添加自定义域名」
- 输入你的域名(如
kinh.example.com)
2. 验证域名所有权
按照弹窗指引,在域名注册商处添加指定的 DNS 解析记录(通常为 TXT 记录),证明域名所有权。
3.配置 DNS CNAME 记录
验证成功后,系统会提供 CNAME 记录值。前往域名注册商,为对应域名添加 CNAME 记录,将流量指向 EdgeOne Pages。
4. 配置 HTTPS(SSL 证书)
- 在域名管理页面,进入 HTTPS 配置
- 点击「申请免费证书」
- 系统自动签发证书,无需额外付费
- 开启「HTTPS 强制跳转」
5. 启用性能优化(可选)
- 启用 HTTP/2 :减少网络延迟,提升加载速度
- 启用 IPv6 访问 :提供双栈访问能力
部署 KinhWebEO 到 EdgeOne Pages
项目架构
KinhWebEO 采用前后端分离架构:
- 前端 :Next.js 15 + React 19 + WeUI(静态导出)
- 后端 :Go + Gin 框架(EdgeOne 云函数)
部署步骤
1. 准备代码仓库
1 | # 克隆项目 |
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 集成(推荐)
- 将代码推送到 GitHub/GitLab
- 在 EdgeOne Pages 控制台导入仓库
- 点击部署
方式二:直接上传
- 本地执行构建:
npm run build - 将
out/目录压缩为 ZIP - 在 EdgeOne Pages 控制台选择「直接上传」
- 上传 ZIP 文件
- 配置云函数
- 在 EdgeOne 控制台创建云函数
- 上传
cloud-functions/目录下的 Go 代码 - 设置运行时:Go
- 配置环境变量(参考步骤 2)
- 部署云函数
验证部署
- 访问 EdgeOne Pages 提供的默认域名
- 测试文件列表、下载、预览等功能
- 绑定自定义域名(参考上一节)
- 完成 ICP 备案(如需境内访问)
成本对比
| 部署方式 | 月度成本 | 运维成本 | 扩展性 |
|---|---|---|---|
| Docker(CVM) | ¥50-200+ | 高 | 手动扩容 |
| EdgeOne Pages 免费套餐 | ¥0 | 无 | 自动伸缩 |
常见问题
1. 免费套餐有时间限制吗?
没有。EdgeOne Pages 免费套餐永久有效,且在当前阶段超额使用也不会中断服务。
2. 需要绑定域名才能访问吗?
不需要。但是建议绑定,对于境内平台,只提供限时的临时域名;对于境外平台,不绑定私有域名在境内无法访问。
3. 如何获取百度 BDUSS?
- 登录百度网盘网页版
- 打开浏览器开发者工具(F12)
- 切换到「Application」标签
- 在「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 进行许可。