Files
smart-project-pricing/DEPLOYMENT_CHECKLIST.md
2026-01-31 21:33:06 +08:00

4.9 KiB
Raw Permalink Blame History

智能项目定价模型 - 部署检查清单

部署前请逐项检查,确保所有条件满足


一、环境准备检查

1.1 服务器环境

  • 操作系统Linux (Ubuntu 22.04 / Debian 12 推荐)
  • CPU≥ 2 核(推荐 4 核)
  • 内存:≥ 4 GB推荐 8 GB
  • 磁盘:≥ 40 GB推荐 100 GB

1.2 软件依赖

  • Docker 已安装(版本 24.0+
    docker --version
    
  • Docker Compose 已安装(版本 2.20+
    docker-compose --version
    
  • Git 已安装
    git --version
    

1.3 网络要求

  • 可访问外网(拉取镜像)
  • 可访问门户系统内网AI 配置)
  • 80/443 端口未被占用或已规划

二、配置检查

2.1 环境变量

  • 已创建 .env 文件
    cp env.example .env
    
  • 已修改数据库密码
    • MYSQL_ROOT_PASSWORD
    • MYSQL_PASSWORD
  • 已设置 SECRET_KEY32位以上随机字符串
  • 已配置 PORTAL_CONFIG_API(门户系统地址)
  • 已配置 CORS_ORIGINS(生产域名)
  • .env 文件权限为 600
    chmod 600 .env
    ls -la .env  # 应显示 -rw-------
    

2.2 Nginx 配置

  • 已修改 nginx.conf 中的域名
  • SSL 证书已准备或计划使用 Let's Encrypt

2.3 Docker 网络

  • scrm_network 网络已创建(如需连接门户系统)
    docker network ls | grep scrm_network
    # 如不存在则创建
    docker network create scrm_network
    

三、部署执行

3.1 首次部署

# 1. 进入项目目录
cd /opt/pricing-model  # 或实际路径

# 2. 检查配置
cat .env | grep -E "MYSQL|SECRET|PORTAL"

# 3. 执行部署
./scripts/deploy.sh deploy

# 4. 查看状态
./scripts/deploy.sh status

3.2 部署后验证

  • 所有容器运行正常
    docker-compose ps
    # 应显示 3 个服务均为 Up 状态
    
  • 后端健康检查通过
    curl http://localhost:8000/health
    # 应返回 {"status": "healthy", ...}
    
  • 数据库连接正常
    docker exec pricing-mysql mysqladmin ping -h localhost
    # 应返回 mysqld is alive
    

四、SSL 证书配置

4.1 使用 Let's Encrypt

DOMAIN=pricing.yourcompany.com \
EMAIL=admin@yourcompany.com \
./scripts/setup-ssl.sh request

4.2 使用已有证书

# 复制证书
mkdir -p /etc/nginx/ssl
cp your_certificate.pem /etc/nginx/ssl/pricing.yourcompany.com.pem
cp your_private_key.key /etc/nginx/ssl/pricing.yourcompany.com.key
chmod 600 /etc/nginx/ssl/*.key

4.3 验证 SSL

  • HTTPS 访问正常
  • HTTP 自动重定向到 HTTPS

五、Nginx 反向代理

5.1 配置 Nginx

# 1. 复制配置
cp nginx.conf /etc/nginx/sites-available/pricing.conf

# 2. 修改域名和证书路径
vim /etc/nginx/sites-available/pricing.conf

# 3. 启用配置
ln -s /etc/nginx/sites-available/pricing.conf /etc/nginx/sites-enabled/

# 4. 测试配置
nginx -t

# 5. 重载 Nginx
nginx -s reload

5.2 验证访问

  • 可通过域名访问前端页面
  • API 接口 /api/v1/health 可访问
  • WebSocket 连接正常AI 流式输出)

六、定时任务配置

crontab -e

添加以下任务:

# 每日凌晨 2 点备份
0 2 * * * /opt/pricing-model/scripts/backup.sh backup >> /var/log/pricing-backup.log 2>&1

# 每 5 分钟健康检查
*/5 * * * * /opt/pricing-model/scripts/monitor.sh quick >> /var/log/pricing-monitor.log 2>&1

七、安全检查

7.1 文件权限

  • .env 文件权限为 600
  • 脚本文件可执行
    chmod +x scripts/*.sh
    

7.2 端口暴露

  • 仅 Nginx 暴露 80/443 端口
  • 后端 8000 端口仅内网访问
  • MySQL 3306 端口仅内网访问

7.3 密钥安全

  • 未使用默认密码
  • SECRET_KEY 为随机字符串
  • API Key 从门户系统获取(未硬编码)

八、功能验证

8.1 核心功能

  • 用户可登录系统
  • 基础数据管理正常(分类、耗材、设备等)
  • 项目成本计算正确
  • 市场分析功能正常
  • AI 定价建议可生成
  • 利润模拟计算正确
  • 仪表盘数据显示正常

8.2 性能验证

  • 页面加载时间 < 2 秒
  • API 响应时间 < 500ms
  • AI 接口响应 < 10 秒

九、交付确认

9.1 文档

  • README.md 已更新
  • 用户操作手册已提供
  • 系统管理手册已提供

9.2 培训

  • 用户培训已完成(或文档已提供)
  • 运维培训已完成(或文档已提供)

9.3 签收

  • 客户/产品验收通过
  • 上线通知已发送

十、问题处理

如遇问题,请参考:

  1. 查看容器日志:docker-compose logs -f
  2. 运行监控检查:./scripts/monitor.sh report
  3. 参考《系统管理手册》故障排查章节
  4. 联系瑞小美技术团队

瑞小美技术团队 · 2026-01-20