# 智能项目定价模型 - 部署检查清单 > 部署前请逐项检查,确保所有条件满足 --- ## 一、环境准备检查 ### 1.1 服务器环境 - [ ] 操作系统:Linux (Ubuntu 22.04 / Debian 12 推荐) - [ ] CPU:≥ 2 核(推荐 4 核) - [ ] 内存:≥ 4 GB(推荐 8 GB) - [ ] 磁盘:≥ 40 GB(推荐 100 GB) ### 1.2 软件依赖 - [ ] Docker 已安装(版本 24.0+) ```bash docker --version ``` - [ ] Docker Compose 已安装(版本 2.20+) ```bash docker-compose --version ``` - [ ] Git 已安装 ```bash git --version ``` ### 1.3 网络要求 - [ ] 可访问外网(拉取镜像) - [ ] 可访问门户系统内网(AI 配置) - [ ] 80/443 端口未被占用或已规划 --- ## 二、配置检查 ### 2.1 环境变量 - [ ] 已创建 `.env` 文件 ```bash cp env.example .env ``` - [ ] 已修改数据库密码 - [ ] `MYSQL_ROOT_PASSWORD` - [ ] `MYSQL_PASSWORD` - [ ] 已设置 `SECRET_KEY`(32位以上随机字符串) - [ ] 已配置 `PORTAL_CONFIG_API`(门户系统地址) - [ ] 已配置 `CORS_ORIGINS`(生产域名) - [ ] `.env` 文件权限为 600 ```bash chmod 600 .env ls -la .env # 应显示 -rw------- ``` ### 2.2 Nginx 配置 - [ ] 已修改 `nginx.conf` 中的域名 - [ ] SSL 证书已准备或计划使用 Let's Encrypt ### 2.3 Docker 网络 - [ ] `scrm_network` 网络已创建(如需连接门户系统) ```bash docker network ls | grep scrm_network # 如不存在则创建 docker network create scrm_network ``` --- ## 三、部署执行 ### 3.1 首次部署 ```bash # 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 部署后验证 - [ ] 所有容器运行正常 ```bash docker-compose ps # 应显示 3 个服务均为 Up 状态 ``` - [ ] 后端健康检查通过 ```bash curl http://localhost:8000/health # 应返回 {"status": "healthy", ...} ``` - [ ] 数据库连接正常 ```bash docker exec pricing-mysql mysqladmin ping -h localhost # 应返回 mysqld is alive ``` --- ## 四、SSL 证书配置 ### 4.1 使用 Let's Encrypt ```bash DOMAIN=pricing.yourcompany.com \ EMAIL=admin@yourcompany.com \ ./scripts/setup-ssl.sh request ``` ### 4.2 使用已有证书 ```bash # 复制证书 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 ```bash # 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 流式输出) --- ## 六、定时任务配置 ```bash crontab -e ``` 添加以下任务: ```cron # 每日凌晨 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 - [ ] 脚本文件可执行 ```bash 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*