OBS 静态网站托管实战:把个人博客搬到华为云,只需五步
个人博客想省钱又省心,静态站点是最省事的方案:没有后端、没有数据库,页面全是 HTML/CSS/JS,访问快、维护少,也几乎不会被打挂。华为云 OBS(对象存储服务)原生支持静态网站托管,再配上 CDN 加速,一个小站的月成本往往不超过一杯奶茶钱。下面把完整流程拆成五步,照着做就能上线。
第一步:准备静态资源。本地用 Hugo、Hexo 或 VitePress 构建出 dist 目录,产物是纯静态文件。发布前在本地用 python3 -m http.server 起个小服务自检一遍链接和图片路径,避免把相对路径写错带到线上。
第二步:创建桶并开启静态网站托管。在 OBS 控制台新建一个桶,把 dist 目录里的文件全部上传,然后在桶的「基础配置 → 静态网站托管」里,把托管模式选为静态网站,默认首页填 index.html,404 页面填自己的 404.html。这里有两个容易踩的坑:一是桶策略要允许匿名用户公开读,否则访问会直接 403;二是网页文件的 Content-Type 由 OBS 根据后缀自动推断,自定义后缀的文件要单独确认,不然浏览器可能把页面当文件下载。
第三步:绑定自定义域名。OBS 默认访问域名对网页文件是强制下载而不是渲染,正式对外必须用备案过的自有域名。在域名解析服务里添加一条 CNAME 记录,指向 OBS 静态网站域名,等解析生效后用自定义域名访问,页面就能正常打开了。
第四步:套上 CDN。裸 OBS 仓库只在单个区域有接入点,全国访问速度参差。把域名接入 CDN 后,源站类型选择 OBS 源,缓存规则建议区分对待:HTML 页面缓存时间短一些,比如一小时;带内容哈希的 JS/CSS 可以缓存三十天;同时开启 Gzip 压缩。这样回源流量大幅下降,静态资源加载基本都在边缘节点完成。
第五步:把发布做成一条命令。手工上传早晚要出错,建议把构建和上传写进流水线:代码提交后自动构建,然后用 obsutil 把 dist 目录同步到桶里,最后调用刷新预热接口清掉 CDN 缓存,实现一键发布。安全上记住三条:桶不要开写权限,访问密钥用最小权限子账号,密钥只放在环境变量或凭据管理服务里,绝不进代码仓库。
上线之后也难免遇到问题,这里附一份简易排查清单。打开页面出现 403,多半是桶策略没有放开公开读,或者 Referer 白名单配错了;出现下载而不是渲染,基本可以确定访问走的是 OBS 默认域名而不是自定义域名;页面更新不生效,先在浏览器无痕模式里确认是否命中了旧缓存,再检查 CDN 刷新是否成功;解析不生效可以用 dig 命令查看 CNAME 是否正确指向了目标域名,并留意本地 DNS 缓存。
总结一下:静态网站托管是个人开发者上云性价比最高的起点,半天就能把域名、托管、加速、发布这四件事全部跑通。之后如果想加评论、访客统计这类动态能力,再用云函数按需补齐即可,架构随时可以平滑演进。先把简单的事做对,比一上来就追求复杂架构更有价值,这也是我把这套流程整理成文的初衷,希望对你有帮助。
- 点赞
- 收藏
- 关注作者
评论(0)