3588AdminBackend/scripts/deploy/Manual.md
2026-02-25 11:00:55 +08:00

10 KiB
Raw Blame History

3588AdminBackend 部署脚本使用说明

本目录包含 3588AdminBackend 的所有部署相关脚本,支持离线环境下的安装、升级、卸载和日常运维。


目录

  1. 快速开始
  2. 脚本清单
  3. 详细使用指南
  4. 典型使用场景
  5. 常见问题

快速开始

第一次部署(离线环境)

# 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

安装流程:

  1. 检查 root 权限
  2. 安装依赖包(如有)
  3. 创建安装目录
  4. 复制二进制文件、配置、脚本
  5. 设置执行权限
  6. 创建命令快捷方式(3588admin-start 等)
  7. 安装 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

升级前准备:

  1. 在新的部署包中确认 bin/managerd 是新版本
  2. 执行升级脚本

回滚方法:

# 如升级后有问题,快速回滚
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