首页 / 辅助软件 / 佑桥系统下载 / 安装部署文档

佑桥系统安装部署文档

按本文逐步执行即可完成佑桥系统的私有化部署:准备环境 → 放产物 → 改口令 → 一键安装 → 验证。全部命令可直接复制使用。

版本 v3.8.9Docker Compose 部署更新于 2026-09-26适用:企业 IT 运维 / 实施工程师
版本:v3.8.9 | 交付方式:Docker Compose 私有化部署 | 更新日期:2026-09-26 适用对象:企业 IT 运维 / 实施工程师(无需开发背景,按本文逐步执行即可完成部署)

一、文档说明

本文档覆盖佑桥系统从零开始的完整安装部署过程,包括环境准备、安装实施、安装验证、 备份恢复、版本升级、可选能力开启与故障排查。

佑桥系统由四个部分组成,本次交付的 Docker 部署包会把它们编排为一台服务器上的一组容器:

组件 作用 容器名
MySQL 8业务主库,存放文件元数据、权限、字典、菜单等youqiao-mysql
Redis 7缓存与登录会话youqiao-redis
后端服务Java 17 Spring Boot,对外提供 REST 接口(8688)youqiao-backend
前端站点Nginx 托管单页应用,反向代理接口(80)youqiao-web

二、交付清单

A. 部署脚手架(本压缩包)

  • youqiao-docker-3.8.9.zip —— 编排文件、镜像定义、初始化 SQL、安装脚本与本文档。

B. 运行时产物(需从佑桥官网「软件下载」页获取)

文件 版本 大小 说明
youqiao-admin-3.8.9.jar3.8.9约 311 MB后端可执行 jar(含全部依赖)
youqiao-web-frontend-3.8.9.zip3.8.9约 9 MB前端构建产物,解压后为 dist/
youqiao-init-sql-3.8.9.zip3.8.9约 18 KB初始化 SQL(部署包内已自带,单独提供便于离线取用)

C. 配套工具(可选,同一软件下载页)

文件 说明
youqiao-agent-skill-1.0.0.zip智能体文件同步 Skill,Node.js ≥ 14 可直接运行
youqiao-sync-1.0.0-win-x64-setup.exePC 同步客户端 · Windows 安装版
youqiao-sync-1.0.0-win-x64-portable.exePC 同步客户端 · Windows 便携版
youqiao-sync-1.0.0-linux-amd64.debPC 同步客户端 · Linux Debian/Ubuntu
youqiao-sync-1.0.0-linux-x64.tar.gzPC 同步客户端 · Linux 通用免安装版
youqiao-sync-1.0.0-mac-x64.dmgPC 同步客户端 · macOS Intel 芯片
youqiao-sync-1.0.0-mac-arm64.dmgPC 同步客户端 · macOS Apple Silicon(M 系列)
完整性校验:安装前请核对下载文件的 SHA256。
文件 SHA256 大小
youqiao-admin-3.8.9.jar590cd4fa4e6129b2…310.7 MB
youqiao-agent-skill-1.0.0.zipe96d1ad4af3f5238…0.2 MB
youqiao-deployment-guide-3.8.9.mda317f6b0bd014de7…0.0 MB
youqiao-docker-3.8.9.zipac754bca1c0f50fe…0.0 MB
youqiao-init-sql-3.8.9.zipbddeb127569ead34…0.0 MB
youqiao-sync-1.0.0-linux-amd64.deb7798d724d26e4e45…103.5 MB
youqiao-sync-1.0.0-linux-x64.tar.gze403b5571e5b3e6c…100.0 MB
youqiao-sync-1.0.0-mac-arm64.dmg3f2beb448aeece68…86.3 MB
youqiao-sync-1.0.0-mac-x64.dmg52eff24e4c89364c…90.5 MB
youqiao-sync-1.0.0-win-x64-portable.exe0cb6488f0a2b5f7d…77.0 MB
youqiao-sync-1.0.0-win-x64-setup.exe766a8506f068414c…77.2 MB
youqiao-web-frontend-3.8.9.zipae0c3e4792d60851…9.0 MB
完整校验值见下载目录下的 checksums.txt。

三、环境要求

3.1 硬件建议

规模 CPU 内存 磁盘 说明
试用 / 演示4 核8 GB100 GB SSD仅开启基础功能
常规生产8 核16 GB300 GB SSD推荐配置
较大规模16 核32 GB+1 TB SSD文件量大或并发高时
磁盘容量主要由实际文件存放方式决定。若使用外部对象存储(OSS/MinIO), 文件正文不会落在应用服务器上;若使用本地存储,请按实际文件增长量预留。

3.2 操作系统

推荐 Linux x86_64,已在以下发行版验证:

  • Ubuntu 20.04 / 22.04 / 24.04
  • CentOS 7.9 / Rocky Linux 8、9
  • Debian 11 / 12
  • Anolis OS 8、OpenEuler 22.03(信创场景)

Windows / macOS 也可通过 Docker Desktop 安装,但不建议用于生产。

3.3 软件依赖

软件 版本要求 安装方式
Docker Engine≥ 20.10(建议 24+)见 5.1
Docker Compose≥ V2(docker compose 命令)Docker 官方安装脚本自带
可选:git / curl / vim任意系统包管理器

3.4 端口规划

端口 服务 是否必须对外开放 说明
80前端站点是用户访问入口,可在 .env 改 WEB_PORT
8688后端接口否(经前端反代)若需第三方系统集成则开放
13306MySQL强烈建议不开放默认映射到宿主机便于排障,生产请在 compose 中删除该映射
6379Redis否不映射到宿主机,仅容器内访问
9000 / 9001MinIO否可选服务(--profile search)
9200Elasticsearch否可选服务(--profile search)
19530Milvus否可选服务(--profile search)
8012kkFileView否可选服务(--profile search)

四、部署总览

bash
                          用户浏览器
                              │  http://服务器IP:80
                              ▼
                    ┌───────────────────┐
                    │  youqiao-web      │  Nginx + 前端静态资源
                    │  (Nginx 容器)     │  /prod-api/* 反向代理
                    └─────────┬─────────┘
                              │  http://backend:8688
                              ▼
        ┌─────────────────────────────────────────────┐
        │            youqiao-backend (容器)            │
        │   Spring Boot 3.x + MyBatis-Plus + Quartz    │
        └──────┬──────────────┬──────────────┬────────┘
               │              │              │
       ┌───────▼──────┐ ┌─────▼─────┐ ┌──────▼────────┐
       │ youqiao-mysql│ │youqiao-   │ │ 挂载卷         │
       │  (MySQL 8)   │ │redis(R7)  │ │ upload/plugins │
       └──────────────┘ └───────────┘ └────────────────┘

五、安装前准备

5.1 安装 Docker(含国内镜像加速)

bash
# 1) 安装 Docker Engine + Compose 插件(适用于多数 Linux)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 2) 启动并设置开机自启
systemctl enable --now docker

# 3) 配置国内镜像加速(国内服务器强烈建议配置,否则拉镜像会很慢)
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://mirror.ccs.tencentyun.com"
  ],
  "log-driver": "json-file",
  "log-opts": { "max-size": "100m", "max-file": "3" }
}
EOF
systemctl daemon-reload && systemctl restart docker

# 4) 验证
docker version && docker compose version

若服务器无法访问外网,请在一台可联网的机器上先把所需基础镜像导出,再拷贝到目标服务器导入:

bash
# 联网机器
docker pull mysql:8.0.36 redis:7.2-alpine eclipse-temurin:17-jre-jammy nginx:1.25-alpine
docker save -o base-images.tar mysql:8.0.36 redis:7.2-alpine eclipse-temurin:17-jre-jammy nginx:1.25-alpine

# 目标服务器
docker load -i base-images.tar

5.2 上传部署包与运行时产物

bash
mkdir -p /opt/youqiao && cd /opt/youqiao
# 1) 解压部署脚手架
unzip youqiao-docker-3.8.9.zip
cd youqiao-docker-3.8.9

# 2) 放入后端 jar
cp /path/to/youqiao-admin-3.8.9.jar runtime/backend/

# 3) 放入前端产物(注意:放的是 dist 里面那一层,不要多套一层 dist/)
unzip /path/to/youqiao-web-frontend-3.8.9.zip       # 得到 dist/
cp -r dist/* runtime/web/
ls runtime/web          # 应能看到 index.html、static/、html/、styles/
最常见的错:把 dist 整个目录拷进 runtime/web/,变成 runtime/web/dist/index.html, 会导致 Nginx 打开是 403/404。请确认 runtime/web/index.html 存在。

5.3 防火墙放行

bash
# firewalld(CentOS / Rocky / openEuler)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

# ufw(Ubuntu / Debian)
ufw allow 80/tcp
ufw reload

# 云服务器还需在「安全组」中放行 80 端口

六、安装步骤

6.1 生成并修改配置

bash
cp .env.example .env
vi .env

核心配置项说明(完整清单见附录 A):

变量 默认值 必改建议
MYSQL_ROOT_PASSWORDYouQiao@2026必须改
MYSQL_PASSWORDyouqiao@2026必须改
MYSQL_DATABASEyq2一般不变
REDIS_PASSWORDYouQiaoRedis@2026必须改(不能留空)
WEB_PORT8080 被占用时改为 8080 等
BACKEND_PORT8688一般不变
JAVA_OPTS-Xms1g -Xmx2g按服务器内存调整
MySQL 与 Redis 的口令在首次初始化后就固化在数据卷里。之后再改 .env 不会自动生效, 需要用新口令重建服务(见 9.3)。

6.2 执行安装

bash
bash scripts/install.sh

脚本会依次完成:环境检查 → 生成 .env → 校验运行时产物是否齐备 → 创建数据目录 → 构建镜像 → 启动容器 → 等待后端健康检查通过。

首次构建耗时主要取决于基础镜像下载速度,通常 3~10 分钟。看到下面这段话即表示安装成功:

bash
================================================================
  安装完成
  访问地址:http://<服务器IP>:80
  超级管理员:admin
  初始密码  :admin123
================================================================

6.3 数据库初始化说明

MySQL 容器首次启动时会自动按文件名字典序执行 sql/ 下的脚本:

  1. 01-schema.sql —— 建 69 张表(含文件治理、权限、审批、工具平台、插件宿主等)
  2. 02-seed.sql —— 写入体系种子数据(部门、角色、菜单、字典、岗位、参数、文件类型、工具接口)
只在数据卷为空时执行一次。若之前已初始化过,再次删除重建容器不会重复执行, 也不会覆盖已有数据;想重置需先 ./scripts/ctrl.sh uninstall 删除数据卷。

初始化脚本只含表结构与体系配置,不包含任何业务数据,也不会写入任何外部存储的密钥。

6.4 首次登录与安全加固

  1. 浏览器打开 http://<服务器IP>:80
  2. 使用 admin / admin123 登录
  3. 立即:右上角头像 → 个人中心 → 修改密码
  4. 到「系统管理 → 存储管理 / 办公管理 → 存储配置」配置对象存储(阿里云 OSS / MinIO 等)
  5. 生产环境建议把 docker-compose.yml 里 MySQL 的 ports 映射删除后重建,避免数据库暴露

七、验证安装

bash
# 1) 四个核心容器都应为 Up(backend 健康检查为 healthy)
./scripts/ctrl.sh status

# 2) 前端页面可打开
curl -sS -o /dev/null -w "HTTP %{http_code}\n" http://127.0.0.1:80/

# 3) 验证码接口可返回(无需登录,用于确认后端确实活着)
curl -sS -o /dev/null -w "HTTP %{http_code}\n" http://127.0.0.1:80/prod-api/captchaImage

# 4) 数据库表已建立
docker exec youqiao-mysql mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "USE yq2; SHOW TABLES;" | wc -l
# 期望输出约 70(69 张表 + 表头)

浏览器侧验证:打开登录页能看到验证码图片 → 输入 admin 登录成功 → 进入首页能加载文件列表菜单。

八、可选能力

默认只启动基础四件套。以下能力按需开启(建议生产环境通过 --profile 显式开启):

bash
docker compose --profile search up -d
能力 涉及服务 开启后的动作
全文检索elasticsearch在后端启动参数打开 --Es.enable=true 并配置 host/port
向量检索milvus + milvus-etcd + milvus-minio打开 --Milvus.enable=true
私有化对象存储minio-store系统内「存储配置」选择 MinIO 类型并填写 minio-store:9000
文件在线预览kkfileview系统内配置预览服务地址 http://kkfileview:8012
这四项会额外占用较多内存(ES 1G + Milvus ~2G + kkFileView ~1G), 开启前请确认服务器资源。没有这些能力系统也能正常运行,只是不提供对应的检索/预览能力。

九、运维与数据

9.1 备份

bash
# 数据库备份(ctrl.sh 已内置)
./scripts/ctrl.sh backup
# 产物:backup/yq2_YYYYMMDD_HHMMSS.sql

# 文件数据备份:直接打包落盘目录
tar czf youqiao-data-$(date +%Y%m%d).tar.gz runtime/data runtime/logs

建议用 crontab 每天执行一次数据库备份:

bash
0 2 * * * cd /opt/youqiao/youqiao-docker-3.8.9 && ./scripts/ctrl.sh backup

9.2 恢复

bash
# 停服后恢复(不要在运行中恢复)
./scripts/ctrl.sh stop
# 重新起一个空库并导入
docker compose up -d mysql
docker exec -i youqiao-mysql mysql -uroot -p"$MYSQL_ROOT_PASSWORD" < backup/yq2_20260926_020000.sql
docker compose up -d

9.3 修改数据库/缓存口令后如何生效

口令固化在数据卷中,改 .env 后再 docker compose up -d 不会生效。正确做法:

bash
./scripts/ctrl.sh uninstall     # 删除容器与数据卷(会清库!先备份)
vi .env                          # 修改新口令
bash scripts/install.sh          # 重新初始化

9.4 版本升级

升级后端或前端产物(不涉及数据结构变更时):

bash
cp /path/to/new/youqiao-admin-x.y.z.jar runtime/backend/
rm -f runtime/backend/youqiao-admin-3.8.9.jar
sed -i 's/youqiao-admin-3.8.9.jar/youqiao-admin-x.y.z.jar/' backend/Dockerfile
cp -r /path/to/new/dist/* runtime/web/
./scripts/ctrl.sh pull-upgrade

若升级说明中提到「含数据库变更」,请先备份,再按随版本提供的增量 SQL 手工执行。

十、故障排查

现象 可能原因 处理
打开页面 403 / 白屏前端文件放错层级确认 runtime/web/index.html 存在(见 5.2 提示),然后 ./scripts/ctrl.sh rebuild
页面能开但验证码图片不显示后端未启动或反代不通./scripts/ctrl.sh logs backend;确认 backend 健康;检查 nginx /prod-api/ 配置是否被改过
登录提示验证码错误Redis 未就绪或时钟不准docker exec youqiao-redis redis-cli -a <REDIS_PASSWORD> ping;检查服务器时区是否为 CST
backend 反复重启数据库连接失败 / 内存不足docker logs youqiao-backend --tail=200;确认 .env 口令与数据卷内实际口令一致;调小 JAVA_OPTS
docker compose 报 version obsolete使用了新版 Compose无害提示,可忽略
初始化 SQL 没执行数据卷不是空的./scripts/ctrl.sh uninstall 后重装(注意会清库)
端口占用(address already in use)80/8688/13306 已被占改 .env 中对应端口,或停掉占用进程 `ss -lntp \grep :80`
镜像拉取超时服务器访问 Docker Hub 慢配置 5.1 的镜像加速,或改用离线导入方式
上传大文件失败Nginx/后端体积限制nginx.conf 中 client_max_body_size 已设 1024m;后端 spring.servlet.multipart.max-file-size 默认 10MB,如需更大请改后端配置

日志定位速查:

bash
./scripts/ctrl.sh logs backend   # 后端
./scripts/ctrl.sh logs web       # 前端 / Nginx
./scripts/ctrl.sh logs mysql     # 数据库
./scripts/ctrl.sh status         # 各容器健康状态

附录 A:环境变量清单

变量 默认值 作用
MYSQL_ROOT_PASSWORDYouQiao@2026MySQL root 口令,后端连接默认使用 root
MYSQL_DATABASEyq2业务库名
MYSQL_USER / MYSQL_PASSWORDyouqiao / youqiao@2026附加普通账号(便于运维自行登录)
MYSQL_PORT13306MySQL 映射到宿主机的端口
REDIS_PASSWORDYouQiaoRedis@2026Redis 口令,不可为空
WEB_PORT80前端对外端口
BACKEND_PORT8688后端对外端口
JAVA_OPTS-Xms1g -Xmx2g -XX:+UseG1GCJVM 参数
MINIO_ROOT_USER / MINIO_ROOT_PASSWORDyouqiao / youqiao@2026可选 MinIO 账号

后端容器内部还有一组变量(MYSQL_HOST、REDIS_HOST、SERVER_PORT 等), 在 docker-compose.yml 中已写死为容器名,一般无需修改。

附录 B:不使用 Docker 的部署方式

若客户环境不允许使用容器,可按下面方式手工部署。

1) 安装依赖:JDK 17、MySQL 8、Redis 7、Nginx。

2) 初始化数据库

bash
mysql -uroot -p -e "CREATE DATABASE yq2 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -uroot -p yq2 < sql/01-schema.sql
mysql -uroot -p yq2 < sql/02-seed.sql

3) 启动后端

bash
mkdir -p /home/youqiao/uploadPath /home/youqiao/plugins /home/youqiao/logs
cd /home/youqiao
nohup java -Xms1g -Xmx2g -jar youqiao-admin-3.8.9.jar \
  --server.port=8688 \
  --spring.profiles.active=druid \
  --spring.datasource.druid.master.url='jdbc:mysql://127.0.0.1:3306/yq2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8' \
  --spring.datasource.druid.master.username=root \
  --spring.datasource.druid.master.password='你的口令' \
  --spring.redis.host=127.0.0.1 \
  --spring.redis.password='你的口令' \
  --ruoyi.profile=/home/youqiao/uploadPath \
  --youqiao.plugin.home=/home/youqiao/plugins \
  > logs/backend.log 2>&1 &

4) 部署前端:把 dist/ 内容放到 Nginx 站点根目录,参考 frontend/nginx.conf (把 proxy_pass http://backend:8688; 改成 http://127.0.0.1:8688;)。

附录 C:数据落盘位置

数据 位置 是否必须备份
业务数据库Docker 卷 mysql_data是(ctrl.sh backup)
上传的文件(本地存储模式)runtime/data/upload是
子系统插件目录runtime/data/plugins是(重新安装子系统需恢复)
后端日志runtime/logs/backend否
Redis 持久化Docker 卷 redis_data否(缓存性质)
如在部署过程中遇到问题,可联系佑桥技术支持: 电话 15221576274 / 邮箱 liujunhui@yyfg.top
如在部署过程中遇到问题,可联系佑桥技术支持:电话 15221576274 / 邮箱 liujunhui@yyfg.top。也可以在线联系顾问获取远程协助。