# 3588AdminBackend 部署脚本使用说明 > 本目录包含 3588AdminBackend 的所有部署相关脚本,支持离线环境下的安装、升级、卸载和日常运维。 --- ## 目录 1. [快速开始](#快速开始) 2. [脚本清单](#脚本清单) 3. [详细使用指南](#详细使用指南) 4. [典型使用场景](#典型使用场景) 5. [常见问题](#常见问题) --- ## 快速开始 ### 第一次部署(离线环境) ```bash # 1. 挂载光盘/USB 后进入目录 cd /mnt/cdrom/3588admin-deploy # 2. 检查环境 sudo ./scripts/check-env.sh # 3. 执行安装 sudo ./scripts/install.sh # 4. 修改配置 sudo nano /opt/3588admin/config/managerd.json # 5. 启动服务 sudo 3588admin-start # 6. 查看状态 sudo 3588admin-status ``` --- ## 脚本清单 | 脚本 | 用途 | 执行位置 | |------|------|----------| | `build-offline-package.sh` | 构建离线部署包 | 联网机器 | | `check-env.sh` | 环境检查 | 目标机器 | | `install.sh` | 安装服务 | 目标机器 | | `uninstall.sh` | 卸载服务 | 目标机器 | | `upgrade.sh` | 升级服务 | 目标机器 | | `start.sh` | 启动服务 | 目标机器 | | `stop.sh` | 停止服务 | 目标机器 | | `status.sh` | 查看状态 | 目标机器 | | `3588admin.service` | Systemd 服务文件 | 安装时复制 | --- ## 详细使用指南 ### 1. build-offline-package.sh **用途**: 在联网机器上构建完整的离线部署包 **执行环境**: 有网络的 Linux 机器(Ubuntu/Debian/CentOS) **前置条件**: - Go 1.23+ 已安装 - 项目源码完整 **使用方法**: ```bash # 在项目目录下执行 cd scripts/deploy sudo ./build-offline-package.sh # 输出位置: build/3588AdminBackend-离线部署包-YYYYMMDD.tar.gz ``` **输出内容**: ``` build/3588AdminBackend-离线部署包-20260225/ ├── bin/managerd # 编译好的二进制 ├── config/ # 配置文件 ├── scripts/ # 部署脚本 ├── systemd/ # 服务文件 ├── docs/ # 文档 ├── deps/ # 依赖包(可选) ├── VERSION # 版本信息 └── README-离线安装.txt # 快速安装指南 ``` --- ### 2. check-env.sh **用途**: 检查目标系统是否满足运行要求 **执行环境**: 目标 Ubuntu 22.04 服务器 **检查项**: - 操作系统版本 - CPU 架构 - 端口占用情况(18080/TCP, 35688/UDP) - 防火墙配置 - 磁盘空间 - 必要工具 **使用方法**: ```bash # 安装前检查 sudo ./scripts/check-env.sh ``` **输出示例**: ``` ========== 3588AdminBackend 环境检查 ========== [系统信息] 主机名: server01 操作系统: Ubuntu 22.04.5 LTS ✓ Ubuntu 22.04 detected [硬件信息] 架构: x86_64 ✓ x86_64 架构 CPU: 4 核 内存: 7.7Gi [端口检查] ✓ 端口 18080 可用 ✓ 端口 35688 可用 ... ========== 检查总结 ========== 通过: 12 警告: 0 失败: 0 ✓ 环境检查全部通过,可以安装 ``` --- ### 3. install.sh **用途**: 安装 3588AdminBackend 到系统 **语法**: ```bash sudo ./install.sh [安装目录] ``` **参数**: - `安装目录`: 可选,默认为 `/opt/3588admin` **使用方法**: ```bash # 默认安装到 /opt/3588admin sudo ./scripts/install.sh # 自定义安装目录 sudo ./scripts/install.sh /usr/local/3588admin ``` **安装流程**: 1. 检查 root 权限 2. 安装依赖包(如有) 3. 创建安装目录 4. 复制二进制文件、配置、脚本 5. 设置执行权限 6. 创建命令快捷方式(`3588admin-start` 等) 7. 安装 Systemd 服务(可选) **安装后操作**: ```bash # 编辑配置文件 sudo nano /opt/3588admin/config/managerd.json # 特别注意修改: # - agent_token: 改为安全的随机字符串 # - listen: 如需外部访问改为 "0.0.0.0:18080" ``` --- ### 4. uninstall.sh **用途**: 完全卸载 3588AdminBackend **语法**: ```bash sudo ./uninstall.sh [安装目录] ``` **参数**: - `安装目录`: 可选,默认为 `/opt/3588admin` **使用方法**: ```bash # 默认卸载 sudo ./scripts/uninstall.sh # 卸载自定义目录 sudo ./scripts/uninstall.sh /usr/local/3588admin ``` **卸载内容**: - 停止服务 - 删除 Systemd 服务 - 删除命令快捷方式 - 删除安装目录(会自动备份配置) **注意**: 卸载前会自动备份 `managerd.json` 到 `/root/3588admin-backup-YYYYMMDDhhmmss/` --- ### 5. upgrade.sh **用途**: 升级到新版本(保留配置) **语法**: ```bash sudo ./upgrade.sh [安装目录] ``` **参数**: - `安装目录`: 可选,默认为 `/opt/3588admin` **使用方法**: ```bash # 升级流程 # 1. 停止服务 # 2. 备份现有数据和配置 # 3. 更新二进制文件 # 4. 更新脚本 # 5. 启动服务 sudo ./scripts/upgrade.sh ``` **升级前准备**: 1. 在新的部署包中确认 `bin/managerd` 是新版本 2. 执行升级脚本 **回滚方法**: ```bash # 如升级后有问题,快速回滚 sudo systemctl stop 3588admin sudo cp /root/3588admin-backup-xxx/managerd.old /opt/3588admin/bin/managerd sudo systemctl start 3588admin ``` --- ### 6. start.sh **用途**: 启动 3588AdminBackend 服务 **使用方法**: ```bash # 方式1: 使用快捷命令(推荐) sudo 3588admin-start # 方式2: 直接执行 sudo /opt/3588admin/scripts/start.sh ``` **功能**: - 检查配置文件是否存在且格式正确 - 检查端口是否被占用 - 检查服务是否已在运行 - 后台启动服务并记录 PID - 显示启动结果和监听地址 **日志位置**: `/opt/3588admin/logs/managerd.log` --- ### 7. stop.sh **用途**: 停止 3588AdminBackend 服务 **使用方法**: ```bash # 方式1: 使用快捷命令(推荐) sudo 3588admin-stop # 方式2: 直接执行 sudo /opt/3588admin/scripts/stop.sh ``` **功能**: - 优雅停止(发送 SIGTERM,等待最多 10 秒) - 强制结束(如优雅停止失败) - 清理 PID 文件 --- ### 8. status.sh **用途**: 查看服务运行状态和系统信息 **使用方法**: ```bash # 方式1: 使用快捷命令(推荐) sudo 3588admin-status # 方式2: 直接执行 sudo /opt/3588admin/scripts/status.sh ``` **显示内容**: - 基本信息(目录、配置文件路径) - 二进制文件状态 - 配置文件内容和监听地址 - 进程状态(运行/停止) - CPU/内存使用情况 - 网络端口监听状态 - HTTP API 连通性测试 - 日志文件列表和最新日志 --- ### 9. 3588admin.service **用途**: Systemd 服务配置文件 **使用方法**: ```bash # 通常由 install.sh 自动安装 # 如需手动安装: sudo cp scripts/3588admin.service /etc/systemd/system/ sudo systemctl daemon-reload # 管理服务 sudo systemctl start 3588admin # 启动 sudo systemctl stop 3588admin # 停止 sudo systemctl restart 3588admin # 重启 sudo systemctl status 3588admin # 查看状态 sudo systemctl enable 3588admin # 开机自启 sudo systemctl disable 3588admin # 禁用自启 ``` --- ## 典型使用场景 ### 场景1: 首次部署 ```bash # 在联网机器上 cd 3588AdminBackend/scripts/deploy ./build-offline-package.sh # 复制到光盘/USB,挂载到生产服务器 # 在生产服务器上 sudo ./scripts/check-env.sh sudo ./scripts/install.sh sudo nano /opt/3588admin/config/managerd.json # 修改配置 sudo 3588admin-start sudo 3588admin-status ``` ### 场景2: 日常运维 ```bash # 查看状态 sudo 3588admin-status # 查看日志 tail -f /opt/3588admin/logs/managerd.log # 重启服务 sudo 3588admin-stop sudo 3588admin-start # 或者使用 systemctl sudo systemctl restart 3588admin ``` ### 场景3: 版本升级 ```bash # 1. 在新的部署包中执行升级 sudo ./scripts/upgrade.sh # 2. 验证升级 sudo 3588admin-status # 3. 如出现问题,查看日志 tail -n 50 /opt/3588admin/logs/managerd.log ``` ### 场景4: 修改配置 ```bash # 1. 停止服务 sudo 3588admin-stop # 2. 修改配置 sudo nano /opt/3588admin/config/managerd.json # 3. 验证配置格式 python3 -m json.tool /opt/3588admin/config/managerd.json # 4. 启动服务 sudo 3588admin-start ``` ### 场景5: 完全卸载 ```bash # 1. 备份配置(可选) cp /opt/3588admin/config/managerd.json ~/managerd-backup.json # 2. 执行卸载 sudo ./scripts/uninstall.sh # 3. 确认删除 ls /opt/3588admin # 应提示不存在 ``` --- ## 常见问题 ### Q1: 执行脚本时提示 "Permission denied" **解决**: ```bash chmod +x scripts/*.sh sudo ./scripts/install.sh ``` ### Q2: 安装后命令找不到(3588admin-start 等) **解决**: ```bash # 检查是否创建了快捷方式 ls -la /usr/local/bin/3588admin-* # 如未创建,手动创建或重新安装 sudo ./scripts/install.sh # 或者使用完整路径 sudo /opt/3588admin/scripts/start.sh ``` ### Q3: 如何查看更详细的日志? **解决**: ```bash # 实时查看日志 tail -f /opt/3588admin/logs/managerd.log # 查看最近100行 tail -n 100 /opt/3588admin/logs/managerd.log # 搜索错误 grep -i error /opt/3588admin/logs/managerd.log ``` ### Q4: 服务启动后立即退出 **排查**: ```bash # 1. 查看日志 tail /opt/3588admin/logs/managerd.log # 2. 检查配置格式 python3 -m json.tool /opt/3588admin/config/managerd.json # 3. 检查端口占用 sudo netstat -tlnp | grep 18080 ``` ### Q5: 如何修改监听端口? **解决**: ```bash # 1. 停止服务 sudo 3588admin-stop # 2. 编辑配置 sudo nano /opt/3588admin/config/managerd.json # 修改 "listen" 为 "127.0.0.1:18081" 或其他端口 # 3. 启动服务 sudo 3588admin-start ``` --- ## 文件说明 ``` scripts/ ├── deploy/ # 部署脚本目录 │ ├── README.md # 本文件 │ ├── build-offline-package.sh # 构建离线包 │ ├── check-env.sh # 环境检查 │ ├── install.sh # 安装 │ ├── uninstall.sh # 卸载 │ ├── upgrade.sh # 升级 │ ├── start.sh # 启动 │ ├── stop.sh # 停止 │ ├── status.sh # 状态 │ └── 3588admin.service # Systemd服务 └── dev-run.sh # 开发运行脚本 ``` --- **维护者**: 运维团队 **最后更新**: 2026-02-25 **版本**: 1.0