- 修复添加账号按钮无反应问题
- 添加账号备注字段(可选)
- 添加账号设置按钮(修改密码/备注)
- 修复用户反馈���能
- 添加定时任务执行日志
- 修复容器重启后账号加载问题
- 修复所有JavaScript语法错误
- 优化账号加载机制(4层保障)
🤖 Generated with Claude Code
5.6 KiB
5.6 KiB
生产环境部署指南
服务器信息
- IP地址: 118.145.177.79
- 域名: zsglpt.workyai.cn
- SSH用户: root
- 项目路径: /root/zsglpt
部署前检查清单
1. 本地环境检查
- 代码已测试无误
- 数据库迁移脚本已准备
- Docker配置文件已更新
- 静态文件已优化(SourceMap已修复)
2. 服务器连接测试
# 测试SSH连接
ssh root@118.145.177.79 "echo 'SSH连接成功'"
3. 确认服务器环境
# 检查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: 使用自动化脚本(推荐)
cd /home/yuyx/aaaaaa/zsglpt
./deploy_to_production.sh
脚本会自动完成:
- ✓ 测试SSH连接
- ✓ 备份生产服务器数据库
- ✓ 压缩并上传项目文件
- ✓ 停止旧容器
- ✓ 重新构建Docker镜像
- ✓ 启动新容器
- ✓ 显示运行状态
方法2: 手动部署步骤
如果自动脚本失败,可以手动执行以下步骤:
步骤1: 备份生产数据
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: 压缩并上传项目
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: 在服务器上解压
ssh root@118.145.177.79 "
cd /root/zsglpt
tar -xzf /tmp/zsglpt_deploy.tar.gz
rm /tmp/zsglpt_deploy.tar.gz
"
步骤4: 重启服务
ssh root@118.145.177.79 "
cd /root/zsglpt
docker-compose down
docker-compose build --no-cache
docker-compose up -d
"
部署后验证
1. 检查容器状态
ssh root@118.145.177.79 "docker ps | grep knowledge-automation"
预期输出: 状态为 Up 且包含 (healthy)
2. 检查服务日志
ssh root@118.145.177.79 "docker logs --tail 50 knowledge-automation-multiuser"
预期输出:
- ✓ 数据库连接池已初始化
- ✓ 浏览器环境检查完成
- ✓ 服务器启动成功
3. 测试HTTP访问
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的挂载,方便热更新
回滚步骤
如果部署后出现问题,可以快速回滚到上一个版本:
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: 容器无法启动
# 查看详细错误日志
ssh root@118.145.177.79 "docker logs knowledge-automation-multiuser"
# 检查端口占用
ssh root@118.145.177.79 "netstat -tlnp | grep 51233"
问题2: 数据库连接失败
# 检查数据库文件权限
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: 域名无法访问
# 检查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代理设置:
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";
}
监控命令
实时查看日志
ssh root@118.145.177.79 "docker logs -f knowledge-automation-multiuser"
查看容器资源使用
ssh root@118.145.177.79 "docker stats knowledge-automation-multiuser"
查看运行任务
ssh root@118.145.177.79 "docker exec knowledge-automation-multiuser ps aux | grep python"
紧急联系信息
- 部署时间: 2025-11-20
- 部署版本: v2.0 (修复执行用时+SourceMap)
- 备份位置: /root/zsglpt/backups/
维护建议
- 定期备份: 建议每天自动备份数据库
- 日志清理: 定期清理旧日志文件,避免磁盘占满
- 监控磁盘: 关注磁盘使用率,特别是截图目录
- 更新依赖: 定期更新Python依赖包和Docker镜像
- 安全审计: 定期检查系统安全日志
部署完成后请在GitHub/文档中更新部署记录!