GoWind 开源生态GoWind 开源生态
首页
GoWind Admin
GoWind CMS
GoWind IM
GoWind UBA
GoWind Toolkit
GitHub
首页
GoWind Admin
GoWind CMS
GoWind IM
GoWind UBA
GoWind Toolkit
GitHub
  • 介绍

    • GoWind Admin 产品介绍
    • GoWind Admin 安装指南
  • 后端文档

    • 后端架构总览
    • 后端核心模块详解
    • 后端 API 与 Protobuf 定义
    • 后端配置与部署
    • 后端扩展开发
  • 前端文档

    • 前端架构总览
    • 前端核心功能详解
  • 二开教程

    • 后端新增业务模块实战教程
    • 前端新增业务页面实战教程
    • 前后端联调完整实战教程
  • 高级教程

    • Lua 脚本扩展实战教程
    • 权限系统深度解析教程
    • 多租户架构实战教程
    • 任务调度与异步处理教程
    • 文件上传与对象存储教程
    • 事件总线与解耦架构教程
    • 前端主题定制与国际化教程
    • 性能优化与监控教程
    • SSE 实时推送
    • 登录策略与安全加固
    • 加密工具实战

GoWind Admin 安装指南

本文档详细介绍 GoWind Admin 的完整安装流程,涵盖开发环境(本地调试)和生产环境(线上部署)两种场景,支持 Windows / macOS / Linux 主流操作系统。

一、环境准备

1. 基础依赖说明

环境类型核心依赖最低版本用途说明
后端Go、Docker、Docker ComposeGo 1.22+微服务编译、依赖服务管理
后端Buf、Protoc、MakeAPI 代码生成、构建
前端Node.js、pnpmNode.js 16+、pnpm 8+前端工程构建、依赖安装

2. 项目目录结构

go-wind-admin/
├── backend/                    # 后端项目
│   ├── scripts/                # 自动化脚本
│   │   ├── env/                # 环境安装脚本
│   │   ├── docker/             # Docker 部署脚本
│   │   └── deploy/             # PM2 部署脚本
│   ├── app/admin/service/      # Admin 服务
│   ├── api/                    # Protobuf API 定义
│   ├── sql/                    # 数据库初始化脚本
│   ├── docker-compose.yaml     # 全量部署(应用 + 依赖)
│   ├── docker-compose.libs.yaml # 仅依赖服务
│   ├── Makefile                # 后端构建命令
│   └── Dockerfile              # Docker 镜像构建
└── frontend/admin/             # 前端项目
    ├── vue-vben/               # Vue Vben 版(Ant Design Vue)
    ├── vue-element/            # Vue Element 版(Element Plus)
    └── react/                  # React 版(Ant Design)

二、开发环境安装(本地调试)

2.1 后端开发环境

方式一:自动安装脚本(推荐)

项目提供了自动化的环境安装脚本,自动检测操作系统并安装所需工具。

Windows
# 以管理员身份运行 PowerShell
cd go-wind-admin/backend

# 执行开发环境安装脚本
powershell -ExecutionPolicy Bypass -File scripts/env/install_windows_dev.ps1

脚本会自动完成以下工作:

  • 安装 Scoop 包管理器(如未安装)
  • 通过 Scoop 安装 Git、Go、Make、Node.js 等基础工具
  • 安装 Docker Desktop
  • 配置 Go 环境变量(GOPROXY 等)
  • 安装 Protobuf 插件和 CLI 工具
  • 配置 hosts 文件
macOS / Linux
cd go-wind-admin/backend

# macOS / Ubuntu / CentOS / Rocky 均可使用
bash scripts/env/install_unix_dev.sh

脚本会自动完成以下工作:

  • 检测操作系统和包管理器(brew / apt / yum / dnf)
  • 安装基础工具(Git、curl、jq 等)
  • 安装 Docker
  • 安装 Go 运行时
  • 配置 Go 环境变量(GOPROXY=https://goproxy.io,direct)
  • 安装 Protobuf 插件和 CLI 工具
  • 安装 protoc 编译器

方式二:手动安装

如果希望自行控制安装过程,可以按以下步骤操作。

步骤 1:安装基础工具

Windows(Scoop)

# 安装 Scoop
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex

# 安装工具
scoop bucket add extras
scoop install git go make nodejs

macOS(Homebrew)

brew install git go protobuf make node

Ubuntu / Debian

sudo apt-get update
sudo apt-get install -y git make protobuf-compiler
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs

CentOS / Rocky

sudo dnf install -y git make protobuf-compiler
步骤 2:安装 Docker

请参考 Docker 官方文档 安装 Docker Desktop(Windows/macOS)或 Docker Engine(Linux)。

步骤 3:安装 Protobuf 插件

后端依赖 Protobuf 相关插件生成 API 代码,可手动安装或通过 Makefile 一键安装:

cd go-wind-admin/backend

# 手动安装
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/go-kratos/kratos/cmd/protoc-gen-go-http/v2@latest
go install github.com/go-kratos/kratos/cmd/protoc-gen-go-errors/v2@latest
go install github.com/google/gnostic/cmd/protoc-gen-openapi@latest
go install github.com/envoyproxy/protoc-gen-validate@latest
go install github.com/menta2k/protoc-gen-redact/v3@latest
go install github.com/go-kratos/protoc-gen-typescript-http@latest

# 一键安装(推荐)
make plugin
步骤 4:安装 CLI 工具
cd go-wind-admin/backend

# 手动安装
go install github.com/go-kratos/kratos/cmd/kratos/v2@latest
go install github.com/google/gnostic@latest
go install github.com/bufbuild/buf/cmd/buf@latest
go install entgo.io/ent/cmd/ent@latest
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest
go install github.com/tx7do/go-wind-toolkit/gowind/cmd/gow@latest

# 一键安装(推荐)
make cli
步骤 5:配置 Go 代理(国内用户)
go env -w GOPROXY=https://goproxy.io,direct
go env -w GO111MODULE=on

初始化项目

首次开发前,需安装依赖并初始化工具:

cd go-wind-admin/backend

# 安装 Go 依赖
go mod download

# 一键初始化(安装插件 + CLI 工具)
make init

2.2 前端开发环境

GoWind Admin 提供三套前端实现,均位于 frontend/admin/ 目录下:

前端版本目录UI 框架开发端口
Vue Vbenvue-vben/Ant Design Vue5666
Vue Elementvue-element/Element Plus3000
Reactreact/Ant Design7000

步骤 1:安装 pnpm

# 通过 npm 安装
npm install -g pnpm

# 或通过 corepack(Node.js 16.13+)
corepack enable
corepack prepare pnpm@latest --activate

步骤 2:切换国内镜像源(可选)

# 使用 nrm 管理源
npm install -g nrm
nrm use taobao

# 或直接修改 pnpm 源
pnpm config set registry https://registry.npmmirror.com

步骤 3:安装前端依赖

cd go-wind-admin/frontend/admin

# Vue Vben 版本(Monorepo,含多个子包)
cd vue-vben
pnpm install

# Vue Element 版本
cd ../vue-element
pnpm install

# React 版本
cd ../react
pnpm install

2.3 启动依赖服务

后端依赖 PostgreSQL、Redis、MinIO 等中间件服务,通过 Docker Compose 启动。

方式一:使用项目脚本(推荐)

cd go-wind-admin/backend

# Windows
make docker-libs
# 或直接执行脚本
powershell -ExecutionPolicy Bypass -File scripts/docker/libs_only.ps1

# macOS / Linux
make docker-libs
# 或直接执行脚本
bash scripts/docker/libs_only.sh

方式二:手动 Docker Compose

cd go-wind-admin/backend

docker compose -f docker-compose.libs.yaml up -d

启动的服务:

服务端口说明
PostgreSQL5432主数据库(默认库名:gwa)
Redis6379缓存 / 消息队列
MinIO9000 / 9001对象存储(API 端口 9000,控制台 9001)

注意:数据库密码等配置见 docker-compose.libs.yaml,生产环境请务必修改默认密码。

配置 hosts

开发环境需要配置 hosts 以解析服务域名:

# Linux/macOS: /etc/hosts
# Windows: C:\Windows\System32\drivers\etc\hosts
127.0.0.1 postgres
127.0.0.1 redis
127.0.0.1 minio

自动安装脚本会自动配置 hosts。Windows 脚本需以管理员身份运行,Linux/macOS 脚本需设置 AUTO_INIT_HOSTS=true。

2.4 启动开发服务

后端启动

cd go-wind-admin/backend

# 使用 gow CLI 启动(推荐)
gow run admin

# 或使用 Make
make run
# 等效于
cd app/admin/service
make run

前端启动

cd go-wind-admin/frontend/admin

# Vue Vben 版本(Ant Design Vue)
cd vue-vben
pnpm dev:antd

# Vue Element 版本
cd ../vue-element
pnpm dev

# React 版本
cd ../react
pnpm dev

验证访问

服务地址
Vue Vben 前端http://localhost:5666
Vue Element 前端http://localhost:3000
React 前端http://localhost:7000
后端 REST APIhttp://localhost:7788
后端 Swagger 文档http://localhost:7788/docs/
后端 SSE 服务http://localhost:7789/events
MinIO 控制台http://localhost:9001

三、生产环境部署

3.1 环境准备

方式一:自动安装脚本(推荐)

cd go-wind-admin/backend

# macOS / Linux(自动检测系统并安装 Docker / Node.js / PM2 / Go)
bash scripts/env/install_unix_prod.sh

脚本会自动完成以下工作:

  • 检测操作系统并使用对应包管理器
  • 安装基础工具(Git、curl、jq 等)
  • 安装 Node.js 和 PM2
  • 安装 Docker 和 Docker Compose
  • 安装 Go 运行时
  • 清理包管理器缓存

Windows 生产环境建议使用 Docker 部署方式,无需手动安装 Go 运行时。

方式二:手动准备

确保服务器已安装:

  • Docker + Docker Compose(全 Docker 部署)
  • 或 Go + PM2(混合部署)

配置 hosts

# Linux/macOS: /etc/hosts
# Windows: C:\Windows\System32\drivers\etc\hosts
127.0.0.1 postgres
127.0.0.1 redis
127.0.0.1 minio
127.0.0.1 jaeger

3.2 部署方式

GoWind Admin 提供两种生产部署方式:

方式一:全 Docker 部署(推荐)

三方中间件和微服务均运行在 Docker 容器中:

cd go-wind-admin/backend

# Windows
make docker-up
# 或
powershell -ExecutionPolicy Bypass -File scripts/docker/full_deploy.ps1

# macOS / Linux
make docker-up
# 或
bash scripts/docker/full_deploy.sh

该命令会启动以下服务(定义在 docker-compose.yaml):

服务镜像端口
PostgreSQLbitnami/postgresql:latest5432
Redisbitnami/redis:latest6379
MinIOminio/minio:latest9000 / 9001
Admin Service本地构建7788 / 7789

Admin Service 镜像通过项目根目录的 Dockerfile 自动构建,采用多阶段构建(Go 编译 + Alpine 运行时)。

方式二:混合部署

三方中间件运行在 Docker,微服务通过 PM2 管理运行在宿主机:

cd go-wind-admin/backend

# 步骤 1:仅启动 Docker 依赖中间件
# Windows
make docker-libs
# macOS / Linux
make docker-libs

# 步骤 2:构建并安装微服务到宿主机
# 需要先确保 PM2 已安装:npm install -g pm2
bash scripts/deploy/pm2_service.sh

PM2 部署脚本会自动:

  1. 执行 make build_only 编译 Go 二进制文件
  2. 将二进制和配置文件安装到 ~/app/go-wind-admin/ 目录
  3. 通过 PM2 注册并启动服务

管理命令:

# 查看服务状态
pm2 list

# 查看日志
pm2 logs go-wind-admin-admin

# 重启服务
pm2 restart go-wind-admin-admin

# 停止服务
pm2 stop go-wind-admin-admin

3.3 前端生产部署

方式一:Docker 镜像部署(Vue Vben 版)

cd go-wind-admin/frontend/admin/vue-vben/scripts/deploy

# 构建镜像
bash build-local-docker-image.sh

# 启动容器
docker run -d -p 8010:8080 --name vben-admin-local vben-admin-local

访问 http://服务器IP:8010。

方式二:静态资源部署

cd go-wind-admin/frontend/admin

# Vue Vben 版本
cd vue-vben
pnpm build:antd

# Vue Element 版本
cd ../vue-element
pnpm build

# React 版本
cd ../react
pnpm build

构建产物在各自项目的 dist/ 目录,部署到 Nginx / Apache 等 Web 服务器即可。

Nginx 配置示例

server {
    listen 80;
    server_name admin.example.com;

    root /usr/share/nginx/html;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    # API 反向代理
    location /api/ {
        proxy_pass http://127.0.0.1:7788/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

四、数据库初始化

项目提供 PostgreSQL 和 MySQL 的初始化脚本,位于 backend/sql/ 目录:

文件说明
postgresql-default-data.sqlPostgreSQL 基础数据
postgresql-demo-data.sqlPostgreSQL 演示数据
mysql-default-data.sqlMySQL 基础数据
mysql-demo-data.sqlMySQL 演示数据

当配置文件中 data.database.migrate 设置为 true 时,服务启动时会自动执行数据库迁移(Ent Auto Migration)。如需手动导入初始数据,可执行对应 SQL 文件。

五、常用 Makefile 命令

命令说明
make init初始化开发环境(安装插件 + CLI 工具)
make plugin安装 Protobuf 编译器插件
make cli安装 CLI 脚手架工具
make dep下载 Go 模块依赖
make gen生成所有代码(Ent + Wire + API + OpenAPI)
make build编译所有服务
make api生成 Protobuf Go 代码
make openapi生成 OpenAPI 文档
make ts生成 TypeScript 客户端代码
make docker-upDocker Compose 全量启动
make docker-libsDocker Compose 仅启动依赖
make docker-down停止所有 Docker 服务
make install-devUnix/macOS 开发环境安装
make install-prodUnix/macOS 生产环境安装
make pm2-deployPM2 部署微服务
make lint运行代码检查
make test运行测试

六、常见问题

Q1: 脚本执行权限不足(Linux/macOS)

chmod +x scripts/**/*.sh

Q2: Docker Compose 命令不存在

确保已安装 Docker Compose V2(作为 Docker CLI 插件)或独立的 docker-compose 命令。项目脚本会自动检测两种方式。

Q3: 前端依赖安装缓慢或失败

  1. 切换国内镜像源(参考 2.2 步骤 2)
  2. 清除缓存重新安装:pnpm store prune && pnpm install

Q4: Go 模块下载失败

配置 Go 代理:

go env -w GOPROXY=https://goproxy.io,direct
go env -w GOSUMDB=off

Q5: 端口被占用

修改各服务的配置文件:

  • 后端 HTTP 端口:backend/app/admin/service/configs/server.yaml → server.rest.addr
  • 后端 SSE 端口:同文件 → server.sse.addr
  • 前端端口:各前端项目的 .env.development 文件
  • Docker 端口:docker-compose.yaml 或 docker-compose.libs.yaml 中的 ports 配置

Q6: 数据库连接失败

  1. 确认 Docker 中的 PostgreSQL 已启动:docker ps | grep postgres
  2. 确认 hosts 已配置 127.0.0.1 postgres
  3. 检查数据库连接配置:backend/app/admin/service/configs/data.yaml
  4. 默认密码为 *Abcd123456,生产环境请务必修改

七、相关文档

  • 项目介绍
  • 后端架构设计
  • 后端配置与部署
Edit this page
Last Updated:: 6/5/26, 11:52 AM
Contributors: Bobo
Prev
GoWind Admin 产品介绍