日志、备份、回滚与最小监控:上线后怎么稳住
说明上线后如何看日志、做数据库备份、验证恢复、保留回滚能力和建立最小监控。
知识目录Docker 从入门到生产部署13 / 14
动手前先知道
这篇文章对应的真实任务是:说明上线后如何看日志、做数据库备份、验证恢复、保留回滚能力和建立最小监控。
第一次阅读先弄清“为什么需要这一步、它改变了哪个运行对象、失败时去哪里检查”,再执行命令。命令可以查,运行模型和排障路径才是长期能力。
上线之后,真正考验系统的是故障处理能力。个人博客不需要复杂运维平台,但至少要做到:能看日志、能备份、能回滚、能知道服务是不是活着。
日志看哪里
Docker Compose 下可以按服务看日志:
docker compose logs -f nginx
docker compose logs -f web
docker compose logs -f api
docker compose logs -f mysql
排查顺序建议:
用户访问失败
↓
看 Nginx 日志
↓
看 web/api 日志
↓
看数据库连接
↓
看外部服务,比如 COS、AI API
Nginx 负责入口,所以 404、502、静态资源失败通常先看它。
健康检查
后端应该提供健康检查接口,例如:
GET /api/v1/health
健康检查至少确认:
- API 进程正常。
- 数据库连接正常。
- 关键配置加载正常。
不要在健康检查里做太慢的操作,也不要依赖不稳定外部服务,否则会误判。
数据库备份
MySQL 最基础的备份方式是:
mysqldump -u <user> -p <database> > backup.sql
在 Docker 里可以通过容器执行:
docker exec <mysql-container> mysqldump -u <user> -p <database> > backup.sql
正式环境建议按日期命名:
backups/mysql/xiaoai-blog-2026-09-03-2300.sql
备份要验证恢复
只备份不恢复,等于没有真正验证。
至少要定期做一次恢复演练:
拿一份备份
↓
导入临时数据库
↓
启动应用连接临时库
↓
确认文章、专题、图片记录正常
很多人出事不是因为没备份,而是备份文件坏了、缺表、字符集不对、恢复步骤没人会。
回滚策略
回滚分两种:
- 应用镜像回滚。
- 数据库回滚。
应用镜像回滚相对简单,只要上一版镜像还在,Compose 改回旧版本即可。
数据库回滚更危险,因为数据可能已经被新版本写入。所以上线前要尽量使用兼容性迁移。
发布前备份
每次涉及数据库迁移、数据导入、大量内容变更前,先备份。
流程:
备份数据库
↓
记录当前镜像版本
↓
部署新版本
↓
执行健康检查
↓
人工验收关键页面
最小监控
个人项目早期至少可以做:
- 定期访问首页。
- 定期访问健康检查接口。
- 磁盘空间检查。
- Docker 容器状态检查。
- Nginx 错误日志检查。
不一定一开始就上复杂监控,但不能完全盲跑。
小艾知行录上线后要重点看
- 首页是否能打开。
- 专题目录是否正常。
- 文章详情是否渲染正常。
- 搜索是否报错。
- 后台是否能登录。
- 图片上传是否成功。
- Jarvis 接口是否稳定。
- 服务器磁盘是否持续增长。
这套检查能覆盖个人博客 80% 以上的早期故障。
JARVIS · 当前文章
有哪里没看懂?可以只问这篇。
Jarvis 会限定在《日志、备份、回滚与最小监控:上线后怎么稳住》及其公开关联内容中检索,并把引用定位回原文章节。