删除 DEPLOYMENT_GUIDE.md
This commit is contained in:
@@ -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/文档中更新部署记录!**
|
|
||||||
Reference in New Issue
Block a user