静态博客的部署可以非常简单,但“简单”不应该等于直接覆盖线上目录。
为了不影响同一台服务器上的其他站点,这个项目采用本地构建、独立目录和原子切换的方式发布。
服务器只负责读取文件
所有依赖安装、类型检查、搜索索引和页面生成都在本地完成。上传到服务器的只有构建产物。
这意味着服务器上不需要运行 Node.js、数据库或新的常驻进程,Nginx 只读取当前版本对应的静态目录。
每次发布都是一个新版本
发布时创建新的 release 目录,验收通过后再切换 current 指针。旧版本不会被原地覆盖,因此出现问题时可以快速切回上一版。
关键原则包括:
- 上传前检查敏感文件和异常文件类型;
- 使用唯一发布编号,避免覆盖已有版本;
- 切换前后验证文件数量与校验值;
- 只管理本博客自己的 Nginx 站点配置;
- 每次操作后确认其他服务状态没有变化。
部署是最后一步
域名、站点标识、构建命令和产物目录必须在首次上线前明确写入项目规范。没有确认这些参数之前,本地开发可以继续,但不应尝试连接服务器。