跳到主要内容

oneblog静态产物存放方案

最后更新于:

oneblog静态产物存放方案

提出问题

 1现在有个需求,我这个oneblog博客(hugo博客)之前部署在eo pages,发现从cnb私有库构建好然后推送到pages,这个太耗时了。
 2后面通过网上实现,把这个静态产物部署在cos,然后腾讯eo部署可以把某个cos设置为静态站点嘛,这样每次部署后就很快了。
 3
 4但是,现在差生个问题,就是部署在cos要钱,每个月要2-3快钱,因此请问能实现如下方法不?
 5
 6把这个静态产物直接部署到七牛云,因为我的七牛云配合eo,流量基本是免费的。这样好像在eo边缘函数上要配置一个边缘函数才行,但是我不会写。
 7
 8请问下这个方案可行嘛?
 9
10或者还有什么更优秀的方案没?
111.这个产物直接托管在eo pages到底快不快?(从cnb私有库构建好推送到eo pages里)
12
13我的仓库地址:https://cnb.cool/onedayxyy/hugo-teek-private
14自己博客域名:onedayxyy.cn

解决办法

2026年7月6日。

cusor auto回复。

先把结论说清楚,再对照你现在的流水线说明怎么选。

你现在的实际架构(不是「整站 EO Pages」)

.cnb.yml 看,当前是:

1CNB 构建 Hugo → coscli 同步到 COS → EO CDN 回源 COS → onedayxyy.cn
2                ↘(仅 admin 变更时)edgeone makers deploy → oneblog-admin(EO Pages)

也就是说:

  • 博客静态站hugo-teek-site/public)在 COS + EdgeOne CDN,不在 EO Pages
  • 博客后台oneblog-admin)才在 EO Pages
  • 你觉得「慢」,主要耗时通常在:Gitee 备份同步 + Hugo 全量构建,而不是 COS 上传那几十秒

问题 1:静态产物改放七牛 + EO,可行吗?要写边缘函数吗?

可行,且一般不需要边缘函数。

静态博客只需要:

  1. CI 把 public/ 上传到 七牛对象存储(Kodo)
  2. EdgeOne 控制台 把站点源站从 COS 改成 七牛 Bucket 域名(或七牛 CDN 域名)
  3. 部署后 刷新 EO 缓存(你现在已有 cdn-refresh 这一步)

这是标准的 CDN 回源对象存储,不是动态逻辑,不用写 EdgeOne 边缘函数

边缘函数适合:鉴权、AB 测试、动态改写请求等;纯 HTML/CSS/JS 静态站用不上。

推荐拓扑(替代 COS)

1CNB build → qshell 上传到七牛 bucket(如 site/ 前缀)
2         → EO 回源七牛(onedayxyy.cn)
3         → 刷新 EO 缓存

你已有七牛配置(QINIU_AK/SK/BUCKET/DOMAIN,图床 img.onedayxyy.cn),可以:

  • 同 bucket 不同前缀images/ 图床、site/ 博客静态站
  • 单独 bucket 专放站点,更清晰

注意点

说明
七牛「静态网站托管」需在 bucket 开索引文档(index.html)、404 页(Hugo 一般有 404.html
回源域名EO 源站填七牛 Bucket 外网域名 或已绑定的 CDN 域名
HTTPS证书仍在 EO 边缘 配置即可(onedayxyy.cn 继续挂 EO)
CI 改造coscli sync 换成 qshell qupload2 / qshell sync(与现有七牛凭证共用)

关于「七牛 + EO 流量基本免费」:通常指 EO 回源七牛EO 与七牛联运 有优惠;具体以控制台账单为准。但对你这种个人博客体量,即使用七牛,整体也往往是几块钱以内,和 COS 2–3 元/月同级。


问题 2:有没有更优方案?

按你的目标(省 COS 费、部署后访问快、CI 别太慢)排序:

方案 A:七牛 Kodo + EO CDN(最贴合你的想法)

  • 优点:去掉 COS 存储费;七牛凭证现成;EO 加速不变;无需边缘函数
  • 缺点:要改 .cnb.yml 和 EO 源站配置;要验证 Hugo 路由(分类/标签页)在七牛静态托管下是否正常
  • CI 速度:与 COS 差不多(都是增量上传),不会明显快于现在

方案 B:继续 COS + EO(维持现状)

  • 优点:已跑通;coscli sync --delete 增量同步成熟
  • 缺点:每月约 2–3 元(存储 + 少量请求,通常很低)
  • 评价:若只为省 2–3 元/月,迁移收益有限;若 COS 账单在涨(存储变大、请求多),再迁不迟

方案 C:整站托管 EO Pages

  • 做法:CNB 构建后 edgeone pages deploy ./hugo-teek-site/public
  • 访问速度(全球 EO 边缘,和 CDN 同级)
  • CI 速度往往更慢——每次要上传整站大量小文件到 Pages;你站点文件多,通常比 coscli 增量同步更耗时😎😎😎
  • 费用:Pages 有免费额度,小站一般够用
  • 和现状关系:后台已在 Pages;博客再上 Pages = 两个 Pages 项目,或一个项目里只放 admin(现状)

结论:EO Pages 适合 后台、小站点;你这种 大 Hugo 站 + 频繁构建COS/七牛 + EO CDN 回源 通常比「每遍全量推 Pages」更合适。

方案 D:仅七牛 CDN(不用 EO 扛主站)

  • 域名直接绑七牛 CDN
  • 你已在用 EO,且评论/后台等在 EO,拆两套 CDN 反而复杂,不推荐。

问题 3:产物直接托管 EO Pages 快不快?

要分两种「快」:

含义结论
访客打开 onedayxyy.cn 快不快EO Pages / EO CDN 都快,国内体验都好
CNB 每次构建+部署快不快Pages 全量上传通常更慢;你当前瓶颈更在 Hugo 构建 + Gitee 备份,换存储对总时长帮助有限

若只想加快 CI,更有效的是:

  • Gitee 备份改为 异步/定时(不必每次 push 都 sync)
  • Hugo 增量构建(若主题支持)😎😎😎
  • COS/七牛 只 sync 变更文件(coscli 已在用)😎😎😎

综合建议(针对你的仓库和域名)

优先级建议
1(推荐)七牛存静态站 + EO 回源七牛,去掉 COS;不需要边缘函数
2(省事)继续 COS;2–3 元/月对个人博客可接受,避免迁移风险
3(不推荐主站)博客整站 EO Pages:访问快,但 CI 上传更慢,和大 Hugo 站不匹配

admin 继续放 EO Pages 不变;只把 博客 public/ 的存储 从 COS 换成七牛即可。


若你决定上「七牛 + EO」,大致步骤

  1. 七牛:bucket 开静态网站;site/ 前缀或独立 bucket;记下源站域名
  2. EO 控制台onedayxyy.cn 源站从 COS 改为七牛域名
  3. .cnb.yml部署到 cos 改为 部署到七牛(qshell,用现有 QINIU_*
  4. 缓存:保留 EO 刷新;如有七牛 CDN 层,按需加 purge
  5. 验证:首页、文章、分类、/admin/、404

如果你确定走 方案 A(七牛替代 COS),我可以直接帮你在 .cnb.yml 里写好 qshell 上传阶段,并列出 EO 控制台要改的具体项(源站 URL、回源 Host 等)。你更倾向 省 COS 迁七牛,还是 先优化 CI 耗时(例如 Gitee 备份改定时)

当前构建速度(亲测😎)

亲测速度:

2026年7月6日测试。

自己1039 md文档,105.54M静态产物

部署一次需要:18s(这里的30s包含自己在trae里执行一键推送命令开始算起的)

同步到gitee仓库:6s

构建:7.5s

从cnb build传输到cos:5s

钉钉通知:4.5s


跳过后台构建:(cnb总时长28.5s)

有后台构建:(cnb总时长2.1min,后台构建需要1.7min–从cnb build推送到pages很耗时)

再次看下七牛云和cos账单

2026年7月6日记录。

  • 七牛云:每月2-5毛之间

  • cos费用:每月1-3元之间

最新文章

文档导航