From 18943a11cba51a18bc6585085329642bf23a03c6 Mon Sep 17 00:00:00 2001 From: 237899745 <1730191420@qq.com> Date: Wed, 10 Dec 2025 22:39:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20DEPLOYMENT=5FGUIDE.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEPLOYMENT_GUIDE.md | 267 -------------------------------------------- 1 file changed, 267 deletions(-) delete mode 100644 DEPLOYMENT_GUIDE.md diff --git a/DEPLOYMENT_GUIDE.md b/DEPLOYMENT_GUIDE.md deleted file mode 100644 index 75f4905..0000000 --- a/DEPLOYMENT_GUIDE.md +++ /dev/null @@ -1,267 +0,0 @@ -# 生产环境部署指南 - -## 服务器信息 -- **IP地址**: 118.145.177.79 -- **域名**: zsglpt.workyai.cn -- **SSH用户**: root -- **项目路径**: /root/zsglpt - ---- - -## 部署前检查清单 - -### 1. 本地环境检查 -- [x] 代码已测试无误 -- [x] 数据库迁移脚本已准备 -- [x] Docker配置文件已更新 -- [x] 静态文件已优化(SourceMap已修复) - -### 2. 服务器连接测试 -```bash -# 测试SSH连接 -ssh root@118.145.177.79 "echo 'SSH连接成功'" -``` - -### 3. 确认服务器环境 -```bash -# 检查Docker是否运行 -ssh root@118.145.177.79 "docker ps" - -# 检查磁盘空间 -ssh root@118.145.177.79 "df -h" - -# 检查内存 -ssh root@118.145.177.79 "free -h" -``` - ---- - -## 快速部署步骤 - -### 方法1: 使用自动化脚本(推荐) - -```bash -cd /home/yuyx/aaaaaa/zsglpt -./deploy_to_production.sh -``` - -**脚本会自动完成:** -1. ✓ 测试SSH连接 -2. ✓ 备份生产服务器数据库 -3. ✓ 压缩并上传项目文件 -4. ✓ 停止旧容器 -5. ✓ 重新构建Docker镜像 -6. ✓ 启动新容器 -7. ✓ 显示运行状态 - -### 方法2: 手动部署步骤 - -如果自动脚本失败,可以手动执行以下步骤: - -#### 步骤1: 备份生产数据 -```bash -ssh root@118.145.177.79 " - cd /root/zsglpt - mkdir -p backups/backup_$(date +%Y%m%d_%H%M%S) - cp -r data backups/backup_$(date +%Y%m%d_%H%M%S)/ -" -``` - -#### 步骤2: 压缩并上传项目 -```bash -cd /home/yuyx/aaaaaa/zsglpt -tar -czf /tmp/zsglpt_deploy.tar.gz \ - --exclude='data' \ - --exclude='logs' \ - --exclude='截图' \ - --exclude='playwright' \ - --exclude='backups' \ - . - -scp /tmp/zsglpt_deploy.tar.gz root@118.145.177.79:/tmp/ -``` - -#### 步骤3: 在服务器上解压 -```bash -ssh root@118.145.177.79 " - cd /root/zsglpt - tar -xzf /tmp/zsglpt_deploy.tar.gz - rm /tmp/zsglpt_deploy.tar.gz -" -``` - -#### 步骤4: 重启服务 -```bash -ssh root@118.145.177.79 " - cd /root/zsglpt - docker-compose down - docker-compose build --no-cache - docker-compose up -d -" -``` - ---- - -## 部署后验证 - -### 1. 检查容器状态 -```bash -ssh root@118.145.177.79 "docker ps | grep knowledge-automation" -``` - -**预期输出**: 状态为 `Up` 且包含 `(healthy)` - -### 2. 检查服务日志 -```bash -ssh root@118.145.177.79 "docker logs --tail 50 knowledge-automation-multiuser" -``` - -**预期输出**: -- ✓ 数据库连接池已初始化 -- ✓ 浏览器环境检查完成 -- ✓ 服务器启动成功 - -### 3. 测试HTTP访问 -```bash -curl -I https://zsglpt.workyai.cn -``` - -**预期输出**: HTTP/1.1 200 或 302 - -### 4. 测试功能 -- [ ] 访问前台页面: https://zsglpt.workyai.cn -- [ ] 测试登录功能 -- [ ] 测试任务执行 -- [ ] 检查WebSocket连接 -- [ ] 验证数据库数据完整 - ---- - -## 重要修复项说明 - -### 修复1: 执行用时计算 -**位置**: `app.py:1221` -**说明**: 执行用时现在只计算任务实际运行时间,不包含排队等待时间 - -### 修复2: SourceMap错误 -**文件**: `static/js/socket.io.min.js` -**说明**: 已添加内联空SourceMap,浏览器不会再报404错误 - -### 修复3: 静态文件缓存 -**位置**: `app.py:1747-1749` -**说明**: 添加了Cache-Control响应头,禁用静态文件缓存 - -### 修复4: Docker挂载 -**文件**: `docker-compose.yml` -**说明**: 新增了static、templates、app.py的挂载,方便热更新 - ---- - -## 回滚步骤 - -如果部署后出现问题,可以快速回滚到上一个版本: - -```bash -ssh root@118.145.177.79 " - cd /root/zsglpt - - # 找到最新的备份目录 - LATEST_BACKUP=\$(ls -t backups/ | head -1) - echo \"回滚到备份: \$LATEST_BACKUP\" - - # 停止当前容器 - docker-compose down - - # 恢复代码文件 - cp -r backups/\$LATEST_BACKUP/code/* . - - # 恢复数据库(如果需要) - # cp -r backups/\$LATEST_BACKUP/data/* data/ - - # 重启容器 - docker-compose up -d --build -" -``` - ---- - -## 常见问题排查 - -### 问题1: 容器无法启动 -```bash -# 查看详细错误日志 -ssh root@118.145.177.79 "docker logs knowledge-automation-multiuser" - -# 检查端口占用 -ssh root@118.145.177.79 "netstat -tlnp | grep 51233" -``` - -### 问题2: 数据库连接失败 -```bash -# 检查数据库文件权限 -ssh root@118.145.177.79 "ls -lh /root/zsglpt/data/" - -# 检查数据库文件是否存在 -ssh root@118.145.177.79 "docker exec knowledge-automation-multiuser ls -lh /app/data/" -``` - -### 问题3: 域名无法访问 -```bash -# 检查Nginx配置 -ssh root@118.145.177.79 "docker exec zsgpt2-nginx nginx -t" - -# 查看Nginx日志 -ssh root@118.145.177.79 "docker logs zsgpt2-nginx" -``` - -### 问题4: WebSocket连接失败 -检查Nginx配置是否包含WebSocket代理设置: -```nginx -location /socket.io/ { - proxy_pass http://knowledge-automation:51233; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; -} -``` - ---- - -## 监控命令 - -### 实时查看日志 -```bash -ssh root@118.145.177.79 "docker logs -f knowledge-automation-multiuser" -``` - -### 查看容器资源使用 -```bash -ssh root@118.145.177.79 "docker stats knowledge-automation-multiuser" -``` - -### 查看运行任务 -```bash -ssh root@118.145.177.79 "docker exec knowledge-automation-multiuser ps aux | grep python" -``` - ---- - -## 紧急联系信息 - -- **部署时间**: 2025-11-20 -- **部署版本**: v2.0 (修复执行用时+SourceMap) -- **备份位置**: /root/zsglpt/backups/ - ---- - -## 维护建议 - -1. **定期备份**: 建议每天自动备份数据库 -2. **日志清理**: 定期清理旧日志文件,避免磁盘占满 -3. **监控磁盘**: 关注磁盘使用率,特别是截图目录 -4. **更新依赖**: 定期更新Python依赖包和Docker镜像 -5. **安全审计**: 定期检查系统安全日志 - ---- - -**部署完成后请在GitHub/文档中更新部署记录!**