纯静态网站上线部署

纯静态网站上线不需要 Node 常驻服务。正确做法是本地或服务器 build,上传构建产物,用 Nginx root 指向静态目录,并确认 clean URL、sitemap 和缓存策略。

纯静态网站上线的目标很简单:build 后得到一批 HTML、CSS、JS、图片和 sitemap 文件,服务器用 Nginx 直接托管。

上线时不要把开发服务器当生产服务,也不要让 Node 进程常驻跑教程站。

部署前先确认产物

请检查当前静态站的构建和部署方式。

要求:
1. 确认 build 命令是什么。
2. 确认 build 后生成哪些静态文件。
3. 确认哪些文件需要上传服务器。
4. 确认是否需要 Node 常驻服务。
5. 确认 clean URL 如何由 Nginx 支持。

服务器目录建议

主站和二级域名站点要放在不同目录,避免脚本拉错仓库。

示例:

/www/wwwroot/aigcbaba-main
/www/wwwroot/claude-code-tutorial

每个站点独立:

上传哪些文件

纯静态站最终要上传的是构建后的可访问产物,而不是只上传 Markdown 源文档。

通常包括:

如果服务器上执行 build,可以上传整个仓库,再由部署脚本 build。 如果本地 build 后上传,就要确认所有构建产物完整。

自动拉代码会不会冲突

不会,前提是部署脚本进入正确目录再 git pull

错误思路:

在任意目录执行 pull,希望服务器自己知道拉哪个项目。

正确思路:

进入 claude-code-tutorial 仓库目录 -> git pull -> npm run build -> Nginx 指向该目录或构建目录

让 CC 帮忙审查脚本:

请审查这个静态站部署脚本。

重点看:
1. 是否进入了正确项目目录。
2. 是否拉的是当前站点仓库。
3. 是否执行了 build。
4. Nginx root 指向哪里。
5. 是否会影响主站目录。
6. 是否有回滚或失败提示。

Nginx clean URL

如果页面路径是:

/docs/start

构建产物通常是:

docs/start/index.html

Nginx 需要能按目录找 index.html

常见配置思路:

location / {
  try_files $uri $uri/ =404;
}

如果项目有自定义目录,需要让 CC 按实际产物检查,不要照抄配置。

上线前检查

检查项标准
build本地或服务器构建成功
首页/ 能访问
文档页/docs/start 这类 clean URL 能访问
sitemap/sitemap.xml 能访问
robots/robots.txt 能访问
静态资源CSS、JS、favicon 正常
404不存在页面返回合理状态

缓存策略

静态资源可以缓存,但 HTML 不建议缓存太久:

类型建议
HTML缓存短一点,方便更新教程
CSS / JS可以中等缓存,改动后确认刷新
图片和字体可以较长缓存
sitemap / robots保持可及时更新

如果站点更新后用户看到旧内容,先怀疑浏览器缓存、CDN 缓存或 Nginx 缓存。

部署后验收模板

请生成静态站部署后验收清单。

请检查:
1. 首页是否能访问。
2. 顶部导航是否能跳转。
3. 文档 clean URL 是否正常。
4. sitemap 和 robots 是否正常。
5. CSS、JS、favicon 是否加载。
6. 手机端是否能正常阅读。
7. 是否有旧 .html 链接残留。

不要做这些

回滚怎么做

静态站回滚比后端服务简单,但也要提前想好:

请设计静态站回滚方案。

请说明:
1. 是否保留上一版构建产物。
2. 如果新版本页面 404,怎么切回上一版。
3. 如果只是文档内容错误,是否可以重新 pull 和 build。
4. 回滚后要检查哪些页面。
5. 是否需要清理缓存。

验收结果