跳到主要内容

静态站部署路径:构建、托管、域名与上线

静态站最大的好处是上线链路相对简单,但简单不代表可以完全不理解。

你真正上线的是什么

对 Docusaurus、Hugo、Astro 文档站这类站点来说,生产环境真正上线的是构建产物

也就是执行构建后得到的一批静态文件,例如:

  • HTML
  • CSS
  • JavaScript
  • 图片
  • 字体

静态站上线的最小链路

本地内容

构建命令

静态产物

托管平台 / 对象存储 / Nginx

绑定域名

配置 HTTPS / CDN

先把几个阶段分清

1. 构建

例如:

npm run build

这一步的目标是把源码和内容转换成可直接访问的静态文件。

2. 托管

托管静态文件的方式通常有三类:

  • 静态托管平台
  • 对象存储 + CDN
  • 自己的 Nginx 服务器

3. 域名绑定

让用户不再访问平台默认域名,而是访问你自己的域名。

4. HTTPS 和缓存

保证链路安全,并让静态资源有合适的缓存策略。

为什么静态站适合第一次建站

因为你不需要先解决:

  • 进程常驻
  • 应用崩溃重启
  • 数据库迁移
  • 后端依赖部署
  • 服务器权限与运行时安全

这让你可以先把“上线一条完整网站链路”跑通。

托管时要重点考虑什么

1. 你的站点是不是纯静态

如果是,优先用静态托管,不要先上服务器。

2. 自定义域名怎么接

你需要确认:

  • 是用 A 记录还是 CNAME
  • 裸域和 www 怎么处理
  • 平台是否自动签证书

3. 构建产物路径是否稳定

这会影响:

  • 静态资源是否 404
  • 子路径部署是否正确
  • CDN 缓存是否稳定

上线前至少检查这几件事

  1. 本地构建是否成功
  2. 构建产物里资源链接是否正确
  3. 自定义域名是否已经生效
  4. HTTPS 是否正常
  5. 首页之外的深层页面能否直接访问
  6. 刷新后是否出现 404 或资源错路径

静态站也不是没有坑

1. HTML 和静态资源缓存策略不区分

容易导致首页更新不及时。

2. 自定义域名接对了,但只配了一个子域

导致裸域和 www 行为不一致。

3. 以为平台托管就不用理解 DNS

其实域名绑定的关键步骤依旧在 DNS。

一个现实建议

第一次搭内容站时,目标应该是:

先让站点以最小成本稳定上线,而不是一开始就追求最复杂的运行架构。

适合接着读什么