10 KiB
10 KiB
3588AdminBackend 部署脚本使用说明
本目录包含 3588AdminBackend 的所有部署相关脚本,支持离线环境下的安装、升级、卸载和日常运维。
目录
快速开始
第一次部署(离线环境)
# 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+ 已安装
- 项目源码完整
使用方法:
# 在项目目录下执行
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)
- 防火墙配置
- 磁盘空间
- 必要工具
使用方法:
# 安装前检查
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 到系统
语法:
sudo ./install.sh [安装目录]
参数:
安装目录: 可选,默认为/opt/3588admin
使用方法:
# 默认安装到 /opt/3588admin
sudo ./scripts/install.sh
# 自定义安装目录
sudo ./scripts/install.sh /usr/local/3588admin
安装流程:
- 检查 root 权限
- 安装依赖包(如有)
- 创建安装目录
- 复制二进制文件、配置、脚本
- 设置执行权限
- 创建命令快捷方式(
3588admin-start等) - 安装 Systemd 服务(可选)
安装后操作:
# 编辑配置文件
sudo nano /opt/3588admin/config/managerd.json
# 特别注意修改:
# - agent_token: 改为安全的随机字符串
# - listen: 如需外部访问改为 "0.0.0.0:18080"
4. uninstall.sh
用途: 完全卸载 3588AdminBackend
语法:
sudo ./uninstall.sh [安装目录]
参数:
安装目录: 可选,默认为/opt/3588admin
使用方法:
# 默认卸载
sudo ./scripts/uninstall.sh
# 卸载自定义目录
sudo ./scripts/uninstall.sh /usr/local/3588admin
卸载内容:
- 停止服务
- 删除 Systemd 服务
- 删除命令快捷方式
- 删除安装目录(会自动备份配置)
注意: 卸载前会自动备份 managerd.json 到 /root/3588admin-backup-YYYYMMDDhhmmss/
5. upgrade.sh
用途: 升级到新版本(保留配置)
语法:
sudo ./upgrade.sh [安装目录]
参数:
安装目录: 可选,默认为/opt/3588admin
使用方法:
# 升级流程
# 1. 停止服务
# 2. 备份现有数据和配置
# 3. 更新二进制文件
# 4. 更新脚本
# 5. 启动服务
sudo ./scripts/upgrade.sh
升级前准备:
- 在新的部署包中确认
bin/managerd是新版本 - 执行升级脚本
回滚方法:
# 如升级后有问题,快速回滚
sudo systemctl stop 3588admin
sudo cp /root/3588admin-backup-xxx/managerd.old /opt/3588admin/bin/managerd
sudo systemctl start 3588admin
6. start.sh
用途: 启动 3588AdminBackend 服务
使用方法:
# 方式1: 使用快捷命令(推荐)
sudo 3588admin-start
# 方式2: 直接执行
sudo /opt/3588admin/scripts/start.sh
功能:
- 检查配置文件是否存在且格式正确
- 检查端口是否被占用
- 检查服务是否已在运行
- 后台启动服务并记录 PID
- 显示启动结果和监听地址
日志位置: /opt/3588admin/logs/managerd.log
7. stop.sh
用途: 停止 3588AdminBackend 服务
使用方法:
# 方式1: 使用快捷命令(推荐)
sudo 3588admin-stop
# 方式2: 直接执行
sudo /opt/3588admin/scripts/stop.sh
功能:
- 优雅停止(发送 SIGTERM,等待最多 10 秒)
- 强制结束(如优雅停止失败)
- 清理 PID 文件
8. status.sh
用途: 查看服务运行状态和系统信息
使用方法:
# 方式1: 使用快捷命令(推荐)
sudo 3588admin-status
# 方式2: 直接执行
sudo /opt/3588admin/scripts/status.sh
显示内容:
- 基本信息(目录、配置文件路径)
- 二进制文件状态
- 配置文件内容和监听地址
- 进程状态(运行/停止)
- CPU/内存使用情况
- 网络端口监听状态
- HTTP API 连通性测试
- 日志文件列表和最新日志
9. 3588admin.service
用途: Systemd 服务配置文件
使用方法:
# 通常由 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: 首次部署
# 在联网机器上
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: 日常运维
# 查看状态
sudo 3588admin-status
# 查看日志
tail -f /opt/3588admin/logs/managerd.log
# 重启服务
sudo 3588admin-stop
sudo 3588admin-start
# 或者使用 systemctl
sudo systemctl restart 3588admin
场景3: 版本升级
# 1. 在新的部署包中执行升级
sudo ./scripts/upgrade.sh
# 2. 验证升级
sudo 3588admin-status
# 3. 如出现问题,查看日志
tail -n 50 /opt/3588admin/logs/managerd.log
场景4: 修改配置
# 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: 完全卸载
# 1. 备份配置(可选)
cp /opt/3588admin/config/managerd.json ~/managerd-backup.json
# 2. 执行卸载
sudo ./scripts/uninstall.sh
# 3. 确认删除
ls /opt/3588admin # 应提示不存在
常见问题
Q1: 执行脚本时提示 "Permission denied"
解决:
chmod +x scripts/*.sh
sudo ./scripts/install.sh
Q2: 安装后命令找不到(3588admin-start 等)
解决:
# 检查是否创建了快捷方式
ls -la /usr/local/bin/3588admin-*
# 如未创建,手动创建或重新安装
sudo ./scripts/install.sh
# 或者使用完整路径
sudo /opt/3588admin/scripts/start.sh
Q3: 如何查看更详细的日志?
解决:
# 实时查看日志
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: 服务启动后立即退出
排查:
# 1. 查看日志
tail /opt/3588admin/logs/managerd.log
# 2. 检查配置格式
python3 -m json.tool /opt/3588admin/config/managerd.json
# 3. 检查端口占用
sudo netstat -tlnp | grep 18080
Q5: 如何修改监听端口?
解决:
# 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