DoraCMS静态网站打包部署到对象存储CDN
想让 DoraCMS 的访问速度更稳、源站压力更小,可以把页面提前生成静态文件,再放到对象存储并接入 CDN。
本文按零基础可执行的顺序,讲清从打包、上传、缓存配置到访问验证的完整流程,读完你可以独立完成一次静态部署。
先理清静态部署的适用场景
DoraCMS 支持生成静态页面,适合内容更新频率不高、以文章展示为主的站点。
静态文件不依赖 Node 进程,直接由对象存储和 CDN 返回,访问速度快,源站也省资源。
需要提前确认三件事:
- 服务器上已经能正常运行 DoraCMS,后台可以正常登录。
- 你拥有对象存储和 CDN 的控制台权限,能创建存储桶和加速域名。
- 域名已完成备案并能配置 CNAME 解析,具体规则以服务商控制台实际显示为准。
生成静态文件
进入 DoraCMS 项目根目录,先安装依赖再执行静态生成。
不同版本命令名称可能有差异,以项目 package.json 里的 scripts 为准。
cd /www/wwwroot/doracms
npm install
npm run build
执行完成后,静态文件通常在 public 或 dist 目录下。
检查是否包含 index.html、static 等资源目录:
ls -al public
关键点:确认本地打开 index.html 时页面能正常显示,再上传到对象存储。 如果本地都打不开,上传后同样无法访问。
上传到对象存储并设置访问权限
在对象存储控制台新建一个存储桶,地域选择离用户较近的区域,访问权限按需选择。
如果站点允许公开访问,可设置为公共读;
如果只允许 CDN 回源,可保持私有并授权 CDN 服务读取。
推荐用命令行工具上传,避免手动拖拽遗漏文件。
以常见的对象存储 CLI 为例:
ossutil cp -r public/ oss://your-bucket-name/ --update
上传后进入控制台检查根目录,确保 index.html 位于存储桶根路径下,而不是多套了一层 public 目录。路径多一层是静态部署最常见的 404 原因。
配置 CDN 与缓存规则
在 CDN 控制台添加加速域名,源站类型选择对象存储,回源地址填写存储桶的访问域名。
接着设置缓存策略:
- HTML 文件建议缓存较短时间,方便内容更新后及时生效。
- CSS、JS、图片等带哈希指纹的静态资源可以设置较长缓存。
- 开启 Gzip 或 Brotli 压缩,减少传输体积。
配置完成后,把域名 CNAME 解析到 CDN 提供的地址。
解析生效后访问域名,页面应正常打开。
如果出现样式丢失,优先检查 CDN 是否回源到了正确的存储桶路径。
更新内容后的刷新方式
每次重新打包并上传后,需要刷新 CDN 缓存,否则用户可能仍访问到旧页面。
操作路径一般在 CDN 控制台的缓存刷新页面,提交需要刷新的 URL 或目录。
CDN控制台 -> 缓存管理 -> 刷新缓存 -> 输入 https://你的域名/
如果站点内容更新频繁,可以只对 HTML 和首页做刷新,静态资源保留长缓存,兼顾速度和更新及时性。
常见问题排查
访问首页返回 404:检查存储桶根目录是否有 index.html,以及 CDN 回源路径是否包含多余目录。
页面能打开但样式错乱:打开浏览器控制台看资源请求地址,确认静态资源路径与上传目录一致。
更新后内容没变化:先刷新 CDN 缓存,再检查本地打包产物是否已覆盖上传。
验证方法很简单: 用无痕窗口打开域名,按 F12 查看 Network 面板,确认 HTML 和静态资源都返回 200,且响应头里能看到 CDN 缓存标识。
整体来看,DoraCMS 静态网站打包部署到对象存储 CDN 的核心就是打包产物完整、上传路径正确、缓存规则合理。
按本文步骤执行后,再根据自己使用的服务商控制台做细微调整即可。