Files
xiaoxia-saas/docs/PRODUCTION-CHECKLIST.md
T
2026-06-21 11:29:33 +08:00

4.8 KiB
Raw Blame History

小虾 SaaS - 生产部署检查清单

🔒 安全检查

1. 密钥和密码

  • 修改 JWT_SECRET_KEY(至少 32 位随机字符)
  • 修改数据库密码
  • 修改 Redis 密码(如果启用)
  • 配置 SMTP 应用专用密码
  • 不要将 .env 文件提交到 Git

2. CORS 配置

  • 更新 CORS_ORIGINS 为实际域名
  • 移除开发环境的 localhost

3. 数据库

  • 使用 SSL 连接数据库
  • 限制数据库访问 IP
  • 定期备份数据库
  • 配置连接池限制

4. API 安全

  • 启用速率限制(取消注释 RateLimitMiddleware
  • 配置适当的速率限制值
  • 启用 HTTPS
  • 配置防火墙规则

🚀 性能优化

1. 应用配置

  • 设置 DEBUG=false
  • 设置 ENVIRONMENT=production
  • 使用多个 worker 进程
  • 配置 Gunicorn(推荐 4 个 worker

2. 数据库优化

  • 创建适当的索引
  • 配置连接池
  • 启用查询缓存
  • 监控慢查询

3. Redis 配置

  • 配置持久化(AOF
  • 设置内存限制
  • 配置驱逐策略

📊 监控和日志

1. 日志

  • 配置日志轮转
  • 设置日志级别为 INFO
  • 集成日志聚合(ELK/Loki
  • 配置错误通知

2. 监控

  • 配置健康检查端点
  • 设置性能监控(CPU/内存/磁盘)
  • 配置数据库监控
  • 设置告警规则

3. 可观测性

  • 集成 APMApplication Performance Monitoring
  • 配置分布式追踪
  • 设置业务指标监控

🗄️ 数据库

1. 迁移

  • 测试所有迁移脚本
  • 准备回滚脚本
  • 在预发布环境测试
  • 备份生产数据

2. 备份策略

  • 配置自动备份(每日)
  • 测试备份恢复流程
  • 异地备份
  • 保留策略(30 天)

🌐 基础设施

1. 域名和 SSL

  • 配置域名解析
  • 申请 SSL 证书
  • 配置 HTTPS 重定向
  • 配置 HTTP/2

2. 反向代理(Nginx

  • 配置负载均衡
  • 配置静态文件缓存
  • 配置 Gzip 压缩
  • 配置请求大小限制

3. 容器化

  • 优化 Docker 镜像大小
  • 配置健康检查
  • 配置重启策略
  • 配置资源限制

📧 邮件服务

1. SMTP 配置

  • 测试邮件发送
  • 配置 SPF 记录
  • 配置 DKIM 签名
  • 配置 DMARC 策略

2. 邮件模板

  • 检查所有邮件模板
  • 测试不同邮件客户端显示
  • 添加取消订阅链接

🧪 测试

1. 功能测试

  • 运行所有单元测试
  • 运行集成测试
  • 手动测试核心流程
  • 测试错误处理

2. 性能测试

  • 负载测试
  • 压力测试
  • 并发测试
  • 数据库性能测试

3. 安全测试

  • SQL 注入测试
  • XSS 测试
  • CSRF 测试
  • 权限绕过测试

📝 文档

1. 用户文档

  • API 文档完整
  • 使用指南清晰
  • 错误码说明
  • 常见问题 FAQ

2. 运维文档

  • 部署流程文档
  • 故障排查手册
  • 备份恢复流程
  • 扩容指南

🔄 CI/CD

1. 持续集成

  • 配置自动测试
  • 配置代码质量检查
  • 配置安全扫描
  • 配置构建流程

2. 持续部署

  • 配置自动部署
  • 配置蓝绿部署
  • 配置回滚机制
  • 配置部署通知

🚨 应急预案

1. 故障处理

  • 准备应急联系人列表
  • 制定故障响应流程
  • 准备回滚计划
  • 制定数据恢复流程

2. 容量规划

  • 评估初期用户量
  • 规划扩容方案
  • 准备备用资源
  • 制定扩容预案

部署前检查

# 1. 运行测试
pytest tests/ -v

# 2. 检查环境变量
cat .env

# 3. 检查数据库连接
psql $DATABASE_URL -c "SELECT 1"

# 4. 检查 Redis 连接
redis-cli -u $REDIS_URL ping

# 5. 测试邮件发送
python scripts/test_email.py

# 6. 检查 Docker 镜像
WEB_PORT=3001 docker compose -f infra/docker/compose.yml build api worker web

# 7. 检查数据库迁移
alembic upgrade head

# 8. 启动服务测试
WEB_PORT=3001 docker compose -f infra/docker/compose.yml up -d
curl http://localhost:8000/health

📞 上线后监控

第一周

  • 每天检查错误日志
  • 监控 API 响应时间
  • 检查数据库性能
  • 用户反馈收集

第一个月

  • 每周性能报告
  • 用户增长分析
  • 资源使用优化
  • 功能使用统计

使用方法: 复制此清单,逐项检查,确保每项都已完成再上线。

优先级:

  • 🔴 高优先级(必须完成):安全检查、数据库备份、基础监控
  • 🟡 中优先级(建议完成):性能优化、详细监控、文档完善
  • 🟢 低优先级(可选):高级监控、自动化部署、容量规划

最后更新: 2026-06-17