服务器恢复说明 一、当前服务器实际部署状态 1. 当前云服务器 IP 124.220.100.95 2. 当前可登录账号 ubuntu 3. 当前项目正式目录 /home/ubuntu/xingxing-server 4. 当前实际运行方式 当前在线服务是纯 server 模式,只运行一个 Docker 容器: xingxing-server 5. 当前没有在运行的模块 MySQL Redis manager-api / manager-web / 智控台 6. 当前在线服务对应的 compose 文件 /home/ubuntu/xingxing-server/docker-compose.yml 二、如果服务出问题,优先这样检查 1. 登录服务器 ssh ubuntu@124.220.100.95 2. 进入正式项目目录 cd /home/ubuntu/xingxing-server 3. 查看容器是否还在运行 docker ps 4. 查看服务日志 docker logs --tail 200 xingxing-server 5. 查看磁盘空间 df -h 三、如果只是容器挂了,直接重启 在 /home/ubuntu/xingxing-server 目录执行: docker compose up -d 执行后检查: docker ps docker logs --tail 100 xingxing-server 四、如果镜像或容器损坏,重新构建部署 在 /home/ubuntu/xingxing-server 目录执行: docker compose down docker compose up -d --build 执行后检查: docker ps docker logs --tail 100 xingxing-server 五、如果本地构建镜像被删了,也可以重新部署回来 原因: 当前在线服务依赖的是 /home/ubuntu/xingxing-server 目录里的代码和配置, 不是依赖那些旧的悬空镜像或 build cache。 只要正式目录还在,就可以重新执行: cd /home/ubuntu/xingxing-server docker compose up -d --build 六、如果想恢复官方基础镜像,再重新构建 可先拉官方镜像: docker pull ghcr.nju.edu.cn/xinnan-tech/xiaozhi-esp32-server:server_latest 然后回到正式目录重新构建: cd /home/ubuntu/xingxing-server docker compose up -d --build 七、如果后面需要重新启用 MySQL / Redis / 智控台 当前服务器默认不需要这些模块。 如果后面确实要恢复整套后台部署,使用: cd /home/ubuntu/xingxing-server docker compose -f docker-compose_all.yml up -d 恢复后将额外启动: xingxing-server-web xingxing-server-db xingxing-server-redis 注意: 这会重新启用 MySQL、Redis 和 8002 后台。 如果只是为了 GPS、语音、路线预警、App 拉 GPS,不需要恢复这套。 八、哪些东西不能乱删 1. 不能删正式项目目录 /home/ubuntu/xingxing-server 2. 不能删正式目录里的运行数据 /home/ubuntu/xingxing-server/data 3. 不能删当前在线容器对应镜像 正在运行时不要删除 xingxing-server 当前所使用的镜像 九、哪些东西通常可以清理 1. 悬空镜像 docker image prune -f 2. 未使用的构建缓存 docker builder prune -af 3. 历史备份目录 /home/ubuntu/xingxing-server.bak.* 4. 旧压缩包 /home/ubuntu/xiaozhi-server.tar.gz /home/ubuntu/xingxing-server_code_backup_20260429_231004.tar.gz 注意: 清理前优先确认当前在线目录仍然是 /home/ubuntu/xingxing-server 十、快速恢复命令 最常用的一条: cd /home/ubuntu/xingxing-server && docker compose up -d --build 十一、恢复完成后的校验标准 1. docker ps 能看到: xingxing-server 2. docker logs --tail 100 xingxing-server 没有持续报错 3. App 可以访问: http://124.220.100.95:8003/app/gps/latest 4. 设备 WebSocket 地址按当前配置使用: ws://124.220.100.95:8000/xiaozhi/v1/ 十二、备注 这台服务器当前是“纯 server 模式”,不是“全家桶模式”。 后续 AI 如果只是维护 GPS、语音、路线预警、App 地图联动,不要默认把 MySQL / Redis / manager-web 再启回来。 十三、本次已取消或未启用的部署项备注 1. 当前明确未部署的服务 MySQL Redis manager-api manager-web 2. 当前为什么不部署这些服务 因为当前服务器用途只需要: 设备对话 GPS 上报 路线录制 风险点预警 App 通过 /app/gps/latest 拉 GPS 以上功能都可以在纯 server 模式下工作,不依赖 MySQL / Redis / 智控台。 3. 当前不要误判为“服务缺失” 如果后面的 AI 看到服务器上没有 xingxing-server-db、xingxing-server-web、xingxing-server-redis, 这不是故障,也不是漏部署,而是当前就是故意只保留 xingxing-server。 4. 如果后面业务变了,才恢复这些模块 只有在确实需要后台管理、账号系统、设备管理、智控台页面时, 才执行下面的恢复命令: cd /home/ubuntu/xingxing-server docker compose -f docker-compose_all.yml up -d 5. 恢复全家桶后应该看到的额外容器 xingxing-server-web xingxing-server-db xingxing-server-redis 6. 如果只是恢复纯 server,不要用 docker-compose_all.yml 纯 server 只使用: cd /home/ubuntu/xingxing-server docker compose up -d --build