完善安装脚本和文档
This commit is contained in:
parent
f57253b36e
commit
5fefa8a154
@ -32,18 +32,33 @@
|
|||||||
|
|
||||||
| 组件 | 版本 | 说明 |
|
| 组件 | 版本 | 说明 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
| Go | 1.23+ | 运行时/编译环境 |
|
| Go | 1.23+ | **编译环境(仅构建机需要)** |
|
||||||
| chi | v5.2.3 | Web 框架 |
|
| chi | v5.2.3 | Web 框架(已静态编译到二进制) |
|
||||||
| cors | v1.2.2 | CORS 中间件 |
|
| cors | v1.2.2 | CORS 中间件(已静态编译到二进制) |
|
||||||
| uuid | v1.6.0 | UUID 生成库 |
|
| uuid | v1.6.0 | UUID 生成库(已静态编译到二进制) |
|
||||||
|
|
||||||
|
> **注意**: Go 编译生成的是**静态链接的二进制文件**,目标机器(生产环境)**不需要**安装 Go 运行时,只需要 Linux 内核即可运行。
|
||||||
|
|
||||||
### 1.3 部署流程概览
|
### 1.3 部署流程概览
|
||||||
|
|
||||||
```
|
```
|
||||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
┌──────────────────────────────────────────────────────────────────────┐
|
||||||
│ 联网机器准备 │ --> │ 打包到光盘 │ --> │ 离线环境部署 │
|
│ 联网机器(构建环境) │
|
||||||
│ (下载依赖/编译) │ │ /USB/ISO │ │ (Ubuntu 22.04) │
|
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
|
||||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
│ │ 安装 Go 1.23 │ -> │ 编译二进制 │ -> │ 打包部署包 │ │
|
||||||
|
│ │ 下载依赖 │ │ managerd │ │ (包含静态二进制文件) │ │
|
||||||
|
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
|
||||||
|
└──────────────────────────────────────────────────────────────────────┘
|
||||||
|
│
|
||||||
|
▼ (拷贝到光盘/USB)
|
||||||
|
┌──────────────────────────────────────────────────────────────────────┐
|
||||||
|
│ 离线机器(生产环境) │
|
||||||
|
│ ┌──────────────────────────────────────────────────────────────┐ │
|
||||||
|
│ │ 无需 Go 运行时!直接运行编译好的静态二进制文件 │ │
|
||||||
|
│ │ - ./scripts/3588admin install │ │
|
||||||
|
│ │ - ./scripts/3588admin start │ │
|
||||||
|
│ └──────────────────────────────────────────────────────────────┘ │
|
||||||
|
└──────────────────────────────────────────────────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@ -361,17 +361,34 @@ sudo systemctl disable 3588admin # 禁用自启
|
|||||||
|
|
||||||
### 场景1: 首次部署
|
### 场景1: 首次部署
|
||||||
|
|
||||||
|
> **说明**: 以下流程在联网机器上构建部署包,然后拷贝到离线生产环境安装。目标机器**不需要** Go 运行时。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 在联网机器上
|
# ========== 在联网机器上(构建环境)==========
|
||||||
cd 3588AdminBackend/scripts/deploy
|
cd 3588AdminBackend/scripts/deploy
|
||||||
|
|
||||||
|
# 构建离线部署包(包含编译好的静态二进制文件)
|
||||||
./build-offline-package.sh
|
./build-offline-package.sh
|
||||||
|
|
||||||
# 复制到光盘/USB,挂载到生产服务器
|
# 输出: build/3588AdminBackend-离线部署包-YYYYMMDD.tar.gz
|
||||||
|
|
||||||
# 在生产服务器上
|
# 复制到光盘/USB/ISO,然后挂载到生产服务器
|
||||||
|
|
||||||
|
# ========== 在生产服务器上(离线环境)==========
|
||||||
|
# 解压部署包
|
||||||
|
tar -xzf 3588AdminBackend-离线部署包-*.tar.gz
|
||||||
|
cd 3588AdminBackend-离线部署包-*/
|
||||||
|
|
||||||
|
# 检查环境(无需 Go 运行时)
|
||||||
sudo ./scripts/3588admin check
|
sudo ./scripts/3588admin check
|
||||||
|
|
||||||
|
# 安装(无需 Go 运行时)
|
||||||
sudo ./scripts/3588admin install
|
sudo ./scripts/3588admin install
|
||||||
sudo nano /opt/3588admin/config/managerd.json # 修改配置
|
|
||||||
|
# 修改配置
|
||||||
|
sudo nano /opt/3588admin/config/managerd.json
|
||||||
|
|
||||||
|
# 启动服务
|
||||||
sudo 3588admin start
|
sudo 3588admin start
|
||||||
sudo 3588admin status
|
sudo 3588admin status
|
||||||
```
|
```
|
||||||
|
|||||||
@ -20,9 +20,10 @@ PACKAGE_DIR="$BUILD_DIR/$PACKAGE_NAME"
|
|||||||
# Go版本检测
|
# Go版本检测
|
||||||
GO_VERSION=$(go version 2>/dev/null | awk '{print $3}')
|
GO_VERSION=$(go version 2>/dev/null | awk '{print $3}')
|
||||||
|
|
||||||
# 检查Go
|
# 检查Go(仅在构建机上需要)
|
||||||
command -v go >/dev/null 2>&1 || {
|
command -v go >/dev/null 2>&1 || {
|
||||||
echo -e "${RED}错误: 未找到 Go 命令${NC}"
|
echo -e "${RED}错误: 未找到 Go 命令${NC}"
|
||||||
|
echo "请在联网的构建机上运行此脚本"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,6 +32,9 @@ echo "项目目录: $PROJECT_DIR"
|
|||||||
echo "构建目录: $BUILD_DIR"
|
echo "构建目录: $BUILD_DIR"
|
||||||
echo "Go 版本: $GO_VERSION"
|
echo "Go 版本: $GO_VERSION"
|
||||||
echo ""
|
echo ""
|
||||||
|
echo -e "${YELLOW}说明: 此脚本在联网机器上运行,生成包含静态二进制文件的离线部署包${NC}"
|
||||||
|
echo -e "${YELLOW} 目标机器(生产环境)无需安装 Go 运行时${NC}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
# 清理旧的构建
|
# 清理旧的构建
|
||||||
echo "[1/7] 清理旧构建..."
|
echo "[1/7] 清理旧构建..."
|
||||||
@ -118,6 +122,11 @@ cat > "$PACKAGE_DIR/README-离线安装.txt" << 'EOF'
|
|||||||
【系统要求】
|
【系统要求】
|
||||||
- Ubuntu 22.04.5 LTS (x86_64)
|
- Ubuntu 22.04.5 LTS (x86_64)
|
||||||
- root 权限
|
- root 权限
|
||||||
|
|
||||||
|
【重要说明】
|
||||||
|
✓ 本部署包已包含静态编译的二进制文件
|
||||||
|
✓ 目标机器无需安装 Go 运行时
|
||||||
|
✓ 无需互联网连接(纯离线安装)
|
||||||
|
|
||||||
【安装步骤】
|
【安装步骤】
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user