静态站优化与自动化部署

更新于 2026年8月21日

适用人群:静态站已上线、想做加速与自动化部署的站长与开发者。

核心概念

静态站的优化面

静态站本身已经很快,进一步优化主要靠:CDN 就近分发、给静态资源设长缓存、图片压缩、开启 gzip/brotli。安全面极小(无后端),但托管环境仍要基本加固。

自动化部署(CI/CD)

把源码放到 Git 仓库,配置 CI(如 GitHub Actions)在每次推送时自动构建并同步到服务器/对象存储,实现「写完 Markdown 推上去,网站自动更新」。

操作步骤

  1. 步骤 1接 CDN

    把域名接入 CDN 就近分发,静态资源设长缓存;境内 CDN 需域名已备案。

  2. 步骤 2设缓存与压缩

    给 HTML 设较短缓存、给带指纹的 CSS/JS/图片设长缓存,开启 gzip/brotli。

  3. 步骤 3建 Git 仓库

    把生成器项目(源码,不含 public/)纳入 Git 管理。

  4. 步骤 4配 CI 自动部署

    配置 CI:推送后自动安装依赖、构建、用 rsync/CLI 同步 public/ 到托管。

  5. 步骤 5上线监控

    监控可用性与 SSL 到期,静态站虽稳,证书过期同样会全站告警。

实际示例

# GitHub Actions:推送到 main 自动构建 Hugo 并 rsync 部署
name: deploy
on: { push: { branches: [main] } }
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with: { submodules: true }
      - uses: peaceiris/actions-hugo@v3
      - run: hugo --minify
      - run: rsync -avz --delete public/ user@server:/www/wwwroot/example.com/public/

常见错误

  • ⚠️把 public/ 也提交进 Git 仓库,源码与产物混在一起,冲突频繁
  • ⚠️接了境内 CDN 但域名没备案,无法正常加速
  • ⚠️HTML 也设了长缓存,改了内容用户看到旧页面
  • ⚠️CI 里存明文服务器密码/密钥,应使用仓库密钥管理

对应工具

常见问题

静态站怎么做到自动更新?
把源码放 Git,配 CI(如 GitHub Actions)在推送时自动构建并同步产物到托管,写完内容推上去网站就自动更新。
静态站还需要做监控吗?
需要。至少监控可用性和 SSL 证书到期——静态站再稳,证书过期一样会导致全站不可访问。

相关教程

相关文章

官方资料来源