本文地址: https://saltbo.cn/post/hugo-uptoc-oss.html
使用 Hugo 有一段时间了,和大家一样最开始是是部署在 GithubPages 上,后来觉得 GithubPages 在国内访问太慢了。搜寻一圈发现了 Netlify,用了一段时间,但是速度还不是很满意。那么有没有办法将我们的博客部署到国内的云存储上呢?
答案是肯定的,比如最近被封的 GiteePages。但问题也很明显,它们只开放二级域名(这次的事儿之后二级域名估计也不开放了),自定义域名得用付费版。
国内有很多云储存,比如阿里云的 OSS,七牛,又拍云等。
那么为什么不把我们的静态博客部署在这上面呢?
经过我的实践,实际上我们只缺少一个部署到云储存的 cli 工具而已。
由此,Uptoc 诞生了。https://github.com/saltbo/uptoc
uptoc,即 upload to the cloud。它是一个用于将文件部署到云存储的命令行工具。
curl -sSf http://uptoc.saltbo.cn/install.sh | sh
uptoc --endpoint oss-cn-beijing.aliyuncs.com \
--access_key LTAI4FxxxxxxxBXmS3 \
--access_secret Vt1FZgxxxxxxxxxxxxKp380AI \
--bucket demo-bucket \
/opt/blog/public
只需要简单的参数就可以将目标文件自动同步到云端。当然为了安全考虑,access_key 和 access_secret 支持系统变量,这样我们就可以通过 Travis 等集成工具的后台来配置它们。
现在只需要在你的.travis.yml 中增加如下配置就完成了
after_success:
- curl -sSf http://uptoc.saltbo.cn/install.sh | sh
- uptoc --endpoint oss -cn-zhangjiakou.aliyuncs.com --bucket saltbo-blog public
完整配置详见 https://github.com/saltbo/blog/blob/master/.travis.yml
创建好 bucket,在 bucket 的基础设置里需要进行这两项配置。
uglyURLs = true
想要部署在 oss 上,hugo 的 uglyURLs 选项必须打开。
1
supersu 2019-10-27 16:29:56 +08:00 via Android
hugo 我不太熟悉,但是 hexo 部署在 oss 上要 hack js 代码,不知道 hugo 会不会不需要
|
2
lhx2008 2019-10-27 16:36:15 +08:00
oss 好像是子目录就不支持 index.html 了,有点智障
|
3
hawhaw 2019-10-27 17:12:14 +08:00 via Android
备案呢
|
4
loading 2019-10-27 17:18:53 +08:00 via Android
|
5
eason1874 2019-10-27 17:19:32 +08:00
别用套路云,用良心云,好用而且良心。
套路云 OSS 直接访问流量 0.50 元 /GB,套 CDN 是 0.15 元 /GB 回源+0.24 元 /GB 加速+0.05 元 /万次静态 HTTPS 请求(动态的 0.15 元 /万次),子目录不支持 index.html 索引。 良心云 COS 直接访问流量 0.50 元 /GB,套 CDN 是 0.15 元 /GB 回源+0.21 元 /GB 加速,HTTPS 请求不收费,而且根目录子目录都都支持 index.html 索引。 如果你页面静态资源多图片多,你就知道 HTTPS 请求费用有多贵了,按平均 1PV 里面 10 个请求来算,每天 1 万 PV 一年就 180 多了。 不过,套路云在香港和海外地域的价格也没有优势,不过每月有 5GB 免费流量(请求收费),而且套路云 CDN 可以只用选择海外加速,CDN 也可以绑定没有备案的域名。 |
8
lhx2008 2019-10-27 17:32:43 +08:00 via Android
阿里云的海外 CDN 也是被移动各种墙,还有被刷流量的风险
|
16
lhx2008 2019-10-27 20:01:05 +08:00 via Android
小众后缀好多都备不了了
|