# XL监狱综合管理平台 - 部署完成报告 ## 📊 部署状态 ### ✅ 已完成 (方案 A - 离线部署) #### 步骤 1: 本地镜像打包 ✅ - 下载并打包了 6 个 Docker 镜像 - 文件: `xlcp-docker-images.tar.gz` (592MB) - 完成时间: 约 15 分钟 #### 步骤 2: 上传镜像到服务器 ✅ - 目标服务器: `root@192.168.10.150` - 部署目录: `/projects/data/xlcp` - 上传时间: 约 1 分钟 (内网速度 ~10MB/s) - 所有镜像已成功加载 #### 步骤 3: 启动基础服务 ✅ **运行中的服务:** - ✅ MySQL 8.0 - 端口 3306 - 健康检查通过 - ✅ Redis 7 - 端口 6380 - 健康检查通过 (已自动调整端口避免冲突) **服务器信息:** - 架构: ARM64 (aarch64) - 系统: openEuler 22.03 (LTS-SP4) - Docker: v28.5.2 - Docker Compose: v2.40.3 (同时支持 docker-compose v1) - 内存: 250GB 总计 - 磁盘: 62GB 可用 --- ## ⚠️ 待完成 ### 步骤 4: 构建并启动应用服务 由于应用需要在服务器上编译构建,还需要以下步骤: #### 后端服务 (Spring Boot + Java 21) **需要:** 1. 上传 backend 源代码 2. 在服务器上 Maven 编译 3. 构建 Docker 镜像 4. 启动容器 **预计时间:** 10-15 分钟 #### 前端服务 (Vue 3 + Node 20) **需要:** 1. 上传 frontend 源代码 2. 在服务器上 pnpm 安装依赖 3. 构建 Vue 应用 4. 构建 Docker 镜像 5. 启动 Nginx 容器 **预计时间:** 5-10 分钟 --- ## 🚀 完成部署的两种方式 ### 方式 1: 使用远程构建脚本 (推荐) ⭐ **最简单,一键完成所有操作** ```bash cd /Volumes/Dpan/github/xlcp/deploy ./scripts/remote-build.sh ``` **这个脚本会自动:** 1. 上传 backend 和 frontend 源代码 2. 在远程服务器编译构建 3. 启动所有服务 4. 健康检查 **注意:** 需要先修改脚本中的服务器地址为 `root@192.168.10.150` --- ### 方式 2: 手动分步执行 #### 2.1 上传源代码 ```bash # 上传 backend rsync -avz --exclude node_modules --exclude target \ ../backend/ root@192.168.10.150:/projects/data/xlcp/backend/ # 上传 frontend rsync -avz --exclude node_modules --exclude 'dist*' \ ../frontend/ root@192.168.10.150:/projects/data/xlcp/frontend/ ``` #### 2.2 构建并启动服务 SSH 到服务器: ```bash ssh root@192.168.10.150 cd /projects/data/xlcp # 构建后端镜像 docker-compose build backend # 构建前端镜像 docker-compose build frontend # 启动所有服务 docker-compose up -d # 查看状态 docker-compose ps ``` --- ## 📝 验证部署 部署完成后,访问以下地址验证: ```bash # 前端页面 curl http://192.168.10.150/ # 后端健康检查 curl http://192.168.10.150:48080/actuator/health # 查看日志 ssh root@192.168.10.150 'cd /projects/data/xlcp && docker-compose logs -f' ``` --- ## 🔧 管理命令 ```bash # SSH 到服务器 ssh root@192.168.10.150 # 进入项目目录 cd /projects/data/xlcp # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f # 重启服务 docker-compose restart backend frontend # 停止所有服务 docker-compose stop # 启动所有服务 docker-compose start # 删除所有容器 docker-compose down ``` --- ## 🎯 访问地址 (部署完成后) - **前端页面**: http://192.168.10.150/ - **后端 API**: http://192.168.10.150:48080/admin-api/ - **健康检查**: http://192.168.10.150:48080/actuator/health --- ## ⚠️ 注意事项 1. **Redis 端口已调整** - 原端口: 6379 - 新端口: 6380 (避免与现有服务冲突) - 已自动更新 `.env` 配置 2. **首次部署需要构建** - 后端 Java 编译需要 10-15 分钟 - 前端 Vue 构建需要 5-10 分钟 - 请耐心等待 3. **磁盘空间** - 镜像文件: 约 2GB - 构建缓存: 约 1GB - 日志和数据: 随时间增长 4. **防火墙** - 确保端口 80, 48080, 3306, 6380 已开放 - 或在内网访问 --- ## 📞 下一步 **请选择:** A. **一键完成部署** (推荐) - 运行: `./scripts/remote-build.sh` - 等待 10-30 分钟自动完成 B. **手动分步部署** - 按照上述步骤手动执行 - 更可控,可以看到详细过程 C. **暂时停止** - MySQL 和 Redis 已运行 - 可以稍后继续部署应用 --- ## 📊 部署时间线 | 步骤 | 操作 | 耗时 | 状态 | |------|------|------|------| | 1 | 本地打包镜像 | 15 分钟 | ✅ 完成 | | 2 | 上传镜像到服务器 | 1 分钟 | ✅ 完成 | | 3 | 启动 MySQL/Redis | 1 分钟 | ✅ 完成 | | 4 | 构建后端服务 | 10-15 分钟 | ⏳ 待完成 | | 5 | 构建前端服务 | 5-10 分钟 | ⏳ 待完成 | | **总计** | | **32-42 分钟** | **60% 完成** | --- **当前进度: 60%** ✅ 基础设施已就绪 ⏳ 应用服务待部署 *建议使用远程构建脚本一键完成剩余 40% 的工作*