fundplatform/doc/单机部署文档.md
zhangjf 7a3fcb3ed7 feat: 使用Maven Assembly实现标准化打包
主要更新:
- 每个服务打包为独立tar.gz,包含bin/lib/conf目录
- bin目录:启动/停止/重启/状态脚本
- lib目录:服务JAR包及所有依赖
- conf目录:配置文件(application.yml等)

新增文件:
- 各模块src/main/assembly/assembly.xml配置
- 各模块src/main/scripts启动脚本
- server-deploy/scripts一键管理脚本
- server-deploy/assembly/assembly.xml模板

更新文档:
- 单机部署文档v2.0,说明assembly打包方式
2026-02-22 14:04:57 +08:00

742 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 资金服务平台单机部署文档
> 版本: v2.0
> 更新日期: 2026-02-22
> 作者: zhangjf
---
## 一、部署概述
### 1.1 部署架构
```
┌─────────────────────────────────────────────────────────────────┐
│ 单机部署架构 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 前端服务 │ │
│ │ fund-admin (Nginx:80) fund-mobile (Nginx:81) │ │
│ └─────────────────────────┬───────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────▼───────────────────────────────┐ │
│ │ Gateway (8000) │ │
│ │ API网关 + Token验证 │ │
│ └─────────────────────────┬───────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────┼───────────────────────────────┐ │
│ │ │ │ │
│ │ ┌────────┬────────┬───┴───┬────────┬────────┐ │ │
│ │ ▼ ▼ ▼ ▼ ▼ ▼ │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │
│ │ │ sys │ │ cust │ │ proj │ │ req │ │ exp │ │rcpt │ │ │
│ │ │:8100 │ │:8200 │ │:8300 │ │:8400 │ │:8500 │ │:8600 │ │ │
│ │ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │ │
│ │ │ │
│ │ ┌──────┐ ┌──────┐ │ │
│ │ │report│ │ file │ │ │
│ │ │:8700 │ │:8800 │ │ │
│ │ └──────┘ └──────┘ │ │
│ │ │ │
│ │ 业务微服务集群 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 基础设施服务 │ │
│ │ MySQL(3306) Redis(6379) Nacos(8848/8048) │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### 1.2 服务清单
| 服务名称 | 端口 | 说明 |
|----------|------|------|
| fund-gateway | 8000 | API网关 |
| fund-sys | 8100 | 系统管理服务 |
| fund-cust | 8200 | 客户管理服务 |
| fund-proj | 8300 | 项目管理服务 |
| fund-req | 8400 | 需求工单服务 |
| fund-exp | 8500 | 支出管理服务 |
| fund-receipt | 8600 | 收款管理服务 |
| fund-report | 8700 | 报表服务 |
| fund-file | 8800 | 文件服务 |
### 1.3 目录结构
```
/opt/fundplatform/ # 应用根目录
├── deploy/ # 部署目录
│ ├── fund-gateway/ # Gateway服务
│ │ ├── bin/ # 脚本目录
│ │ │ ├── start.sh # 启动脚本
│ │ │ ├── stop.sh # 停止脚本
│ │ │ ├── restart.sh # 重启脚本
│ │ │ └── status.sh # 状态查看脚本
│ │ ├── lib/ # 依赖JAR目录
│ │ │ └── fund-gateway.jar # 服务JAR包
│ │ └── conf/ # 配置文件目录
│ │ └── application.yml # 服务配置文件
│ ├── fund-sys/ # 系统服务
│ │ ├── bin/
│ │ ├── lib/
│ │ └── conf/
│ ├── fund-cust/ # 客户服务
│ ├── fund-proj/ # 项目服务
│ ├── fund-req/ # 需求服务
│ ├── fund-exp/ # 支出服务
│ ├── fund-receipt/ # 收款服务
│ ├── fund-report/ # 报表服务
│ ├── fund-file/ # 文件服务
│ ├── start-all.sh # 一键启动所有服务
│ ├── stop-all.sh # 一键停止所有服务
│ ├── restart-all.sh # 一键重启所有服务
│ └── status.sh # 查看所有服务状态
├── packages/ # 发布包目录
│ ├── fund-gateway.tar.gz # Gateway服务发布包
│ ├── fund-sys.tar.gz # 系统服务发布包
│ ├── fund-cust.tar.gz # 客户服务发布包
│ ├── fund-proj.tar.gz # 项目服务发布包
│ ├── fund-req.tar.gz # 需求服务发布包
│ ├── fund-exp.tar.gz # 支出服务发布包
│ ├── fund-receipt.tar.gz # 收款服务发布包
│ ├── fund-report.tar.gz # 报表服务发布包
│ ├── fund-file.tar.gz # 文件服务发布包
│ ├── fund-admin.zip # 管理后台前端发布包
│ └── fund-mobile.zip # 移动端H5发布包
├── sql/ # 数据库脚本
│ ├── fund_platform_schema.sql # 表结构
│ └── fund_platform_init.sql # 初始化数据
└── config/ # 公共配置
└── env.properties # 环境变量配置
/datacfs/applogs/ # 日志根目录
├── fund-gateway/ # Gateway日志
│ ├── info.log
│ ├── error.log
│ └── aop.log
├── fund-sys/ # 系统服务日志
├── fund-cust/ # 客户服务日志
├── fund-proj/ # 项目服务日志
├── fund-req/ # 需求服务日志
├── fund-exp/ # 支出服务日志
├── fund-receipt/ # 收款服务日志
├── fund-report/ # 报表服务日志
└── fund-file/ # 文件服务日志
```
---
## 二、环境安装与配置
### 2.1 环境要求
| 组件 | 版本要求 | 说明 |
|------|----------|------|
| 操作系统 | CentOS 7+ / Ubuntu 18+ | Linux服务器 |
| JDK | 21+ | Java运行环境 |
| MySQL | 8.0+ | 数据库 |
| Redis | 7.0+ | 缓存服务 |
| Nacos | 3.0+ | 服务注册中心 |
### 2.2 安装 JDK 21
```bash
# 方式一:使用包管理器安装 (Ubuntu)
sudo apt update
sudo apt install openjdk-21-jdk
# 方式二:使用包管理器安装 (CentOS)
sudo yum install java-21-openjdk java-21-openjdk-devel
# 方式三:手动安装
cd /opt
wget https://download.java.net/openjdk/jdk21/ri/openjdk-21+35_linux-x64_bin.tar.gz
tar -xzf openjdk-21+35_linux-x64_bin.tar.gz
ln -s /opt/jdk-21 /opt/java
# 配置环境变量
cat >> /etc/profile << 'EOF'
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH
EOF
source /etc/profile
# 验证安装
java -version
```
### 2.3 安装 MySQL 8.0
```bash
# Ubuntu 安装
sudo apt update
sudo apt install mysql-server-8.0
# CentOS 安装
sudo yum install mysql-server
# 启动MySQL
sudo systemctl start mysql
sudo systemctl enable mysql
# 配置root密码
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'zjf@123456';"
# 创建数据库用户(可选,用于应用连接)
sudo mysql -u root -p'zjf@123456' << 'EOF'
CREATE USER 'fund_user'@'%' IDENTIFIED BY 'Fund@123456';
GRANT ALL PRIVILEGES ON *.* TO 'fund_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EOF
```
### 2.4 安装 Redis 7.0
```bash
# Ubuntu 安装
sudo apt update
sudo apt install redis-server
# CentOS 安装 (需要EPEL源)
sudo yum install epel-release
sudo yum install redis
# 配置密码
sudo sed -i 's/# requirepass foobared/requirepass zjf@123456/' /etc/redis/redis.conf
# 配置持久化
sudo sed -i 's/appendonly no/appendonly yes/' /etc/redis/redis.conf
# 启动Redis
sudo systemctl restart redis
sudo systemctl enable redis
# 验证安装
redis-cli -a 'zjf@123456' ping
```
### 2.5 安装 Nacos 3.0
```bash
# 下载Nacos
cd /opt
wget https://github.com/alibaba/nacos/releases/download/3.0.0/nacos-server-3.0.0.tar.gz
tar -xzf nacos-server-3.0.0.tar.gz
mv nacos nacos-server
# 配置端口可选默认8848
cd /opt/nacos-server/conf
sed -i 's/server.port=8848/server.port=8848/' application.properties
# 配置MySQL持久化推荐生产环境使用
cat >> application.properties << 'EOF'
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user.0=root
db.password.0=zjf@123456
EOF
# 创建Nacos数据库
mysql -u root -p'zjf@123456' << 'EOF'
CREATE DATABASE IF NOT EXISTS nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
EOF
# 导入Nacos表结构
mysql -u root -p'zjf@123456' nacos_config < /opt/nacos-server/conf/mysql-schema.sql
# 启动Nacos单机模式
cd /opt/nacos-server/bin
sh startup.sh -m standalone
# 查看启动日志
tail -f /opt/nacos-server/logs/start.out
# 访问控制台
# http://服务器IP:8848/nacos
# 默认账号密码nacos / nacos
```
### 2.6 创建Nacos命名空间
```bash
# 登录Nacos控制台或使用API创建命名空间
curl -X POST 'http://localhost:8848/nacos/v1/console/namespaces' \
-d 'customNamespaceId=fund-platform' \
-d 'namespaceName=资金服务平台' \
-d 'namespaceDesc=资金服务平台命名空间'
```
---
## 三、数据库创建和初始化
### 3.1 创建数据库
```bash
# 登录MySQL
mysql -u root -p'zjf@123456'
# 执行创建数据库脚本
```
```sql
-- 创建各服务数据库
CREATE DATABASE IF NOT EXISTS fund_sys
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS fund_cust
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS fund_proj
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS fund_req
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS fund_exp
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS fund_receipt
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS fund_report
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS fund_file
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 查看数据库
SHOW DATABASES;
```
### 3.2 初始化表结构
```bash
# 上传SQL脚本到服务器
cd /opt/fundplatform
mkdir -p sql
# 执行表结构脚本
mysql -u root -p'zjf@123456' fund_sys < sql/fund_sys_schema.sql
mysql -u root -p'zjf@123456' fund_cust < sql/fund_cust_schema.sql
mysql -u root -p'zjf@123456' fund_proj < sql/fund_proj_schema.sql
mysql -u root -p'zjf@123456' fund_req < sql/fund_req_schema.sql
mysql -u root -p'zjf@123456' fund_exp < sql/fund_exp_schema.sql
mysql -u root -p'zjf@123456' fund_receipt < sql/fund_receipt_schema.sql
mysql -u root -p'zjf@123456' fund_report < sql/fund_report_schema.sql
mysql -u root -p'zjf@123456' fund_file < sql/fund_file_schema.sql
# 执行初始化数据脚本
mysql -u root -p'zjf@123456' fund_sys < sql/fund_sys_init.sql
```
---
## 四、服务部署
### 4.1 创建部署目录
```bash
# 创建应用目录
mkdir -p /opt/fundplatform/deploy
mkdir -p /opt/fundplatform/sql
mkdir -p /opt/fundplatform/config
# 创建日志目录
mkdir -p /datacfs/applogs/fund-gateway
mkdir -p /datacfs/applogs/fund-sys
mkdir -p /datacfs/applogs/fund-cust
mkdir -p /datacfs/applogs/fund-proj
mkdir -p /datacfs/applogs/fund-req
mkdir -p /datacfs/applogs/fund-exp
mkdir -p /datacfs/applogs/fund-receipt
mkdir -p /datacfs/applogs/fund-report
mkdir -p /datacfs/applogs/fund-file
```
### 4.2 编译打包
项目使用 **Maven Assembly Plugin** 实现标准化打包,每个服务打包为一个独立的 `tar.gz` 文件。
#### 4.2.1 后端服务打包
```bash
# 在开发机上编译打包
mvn clean package -DskipTests
# 打包结果位于各模块的target目录
# fund-gateway/target/fund-gateway.tar.gz
# fund-sys/target/fund-sys.tar.gz
# fund-cust/target/fund-cust.tar.gz
# fund-proj/target/fund-proj.tar.gz
# fund-req/target/fund-req.tar.gz
# fund-exp/target/fund-exp.tar.gz
# fund-receipt/target/fund-receipt.tar.gz
# fund-report/target/fund-report.tar.gz
# fund-file/target/fund-file.tar.gz
```
#### 4.2.2 打包结构说明
每个服务的 `tar.gz` 包解压后包含以下目录结构:
```
fund-sys/
├── bin/ # 脚本目录
│ ├── start.sh # 启动脚本
│ ├── stop.sh # 停止脚本
│ ├── restart.sh # 重启脚本
│ └── status.sh # 状态查看脚本
├── lib/ # 依赖JAR目录
│ └── fund-sys.jar # 服务JAR包包含所有依赖
└── conf/ # 配置文件目录
├── application.yml # 主配置文件
├── application-*.yml # 环境配置文件
└── logback-spring.xml # 日志配置文件
```
#### 4.2.3 前端打包
```bash
# 管理后台打包
cd fund-admin
npm install
npm run build
# 生成 dist 目录,打包为 fund-admin.zip
zip -r fund-admin.zip dist/
# 移动端H5打包
cd fund-mobile
npm install
npm run build
# 生成 dist 目录,打包为 fund-mobile.zip
zip -r fund-mobile.zip dist/
```
### 4.3 上传部署文件
```bash
# 创建发布包目录
mkdir -p /opt/fundplatform/packages
# 上传后端服务发布包
scp fund-gateway/target/fund-gateway.tar.gz user@server:/opt/fundplatform/packages/
scp fund-sys/target/fund-sys.tar.gz user@server:/opt/fundplatform/packages/
scp fund-cust/target/fund-cust.tar.gz user@server:/opt/fundplatform/packages/
scp fund-proj/target/fund-proj.tar.gz user@server:/opt/fundplatform/packages/
scp fund-req/target/fund-req.tar.gz user@server:/opt/fundplatform/packages/
scp fund-exp/target/fund-exp.tar.gz user@server:/opt/fundplatform/packages/
scp fund-receipt/target/fund-receipt.tar.gz user@server:/opt/fundplatform/packages/
scp fund-report/target/fund-report.tar.gz user@server:/opt/fundplatform/packages/
scp fund-file/target/fund-file.tar.gz user@server:/opt/fundplatform/packages/
# 上传前端发布包
scp fund-admin.zip user@server:/opt/fundplatform/packages/
scp fund-mobile.zip user@server:/opt/fundplatform/packages/
```
### 4.4 解压部署
```bash
# 解压后端服务到deploy目录
cd /opt/fundplatform/packages
tar -xzf fund-gateway.tar.gz -C /opt/fundplatform/deploy/
tar -xzf fund-sys.tar.gz -C /opt/fundplatform/deploy/
tar -xzf fund-cust.tar.gz -C /opt/fundplatform/deploy/
tar -xzf fund-proj.tar.gz -C /opt/fundplatform/deploy/
tar -xzf fund-req.tar.gz -C /opt/fundplatform/deploy/
tar -xzf fund-exp.tar.gz -C /opt/fundplatform/deploy/
tar -xzf fund-receipt.tar.gz -C /opt/fundplatform/deploy/
tar -xzf fund-report.tar.gz -C /opt/fundplatform/deploy/
tar -xzf fund-file.tar.gz -C /opt/fundplatform/deploy/
# 上传一键管理脚本到deploy目录
cp /opt/fundplatform/packages/start-all.sh /opt/fundplatform/deploy/
cp /opt/fundplatform/packages/stop-all.sh /opt/fundplatform/deploy/
cp /opt/fundplatform/packages/restart-all.sh /opt/fundplatform/deploy/
cp /opt/fundplatform/packages/status.sh /opt/fundplatform/deploy/
```
### 4.5 配置文件修改
各服务配置文件需要根据实际环境修改以下配置:
```yaml
# MySQL配置
spring:
datasource:
url: jdbc:mysql://数据库IP:3306/fund_sys?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: fund_user
password: Fund@123456
# Redis配置
data:
redis:
host: Redis服务器IP
port: 6379
password: zjf@123456
# Nacos配置
cloud:
nacos:
discovery:
server-addr: Nacos服务器IP:8848
namespace: fund-platform
```
### 4.6 服务管理脚本
每个服务的 `bin` 目录下包含以下脚本:
| 脚本 | 说明 |
|------|------|
| start.sh | 启动服务 |
| stop.sh | 停止服务 |
| restart.sh | 重启服务 |
| status.sh | 查看服务状态 |
#### 4.6.1 单服务管理
```bash
# 启动单个服务
/opt/fundplatform/deploy/fund-sys/bin/start.sh
# 停止单个服务
/opt/fundplatform/deploy/fund-sys/bin/stop.sh
# 重启单个服务
/opt/fundplatform/deploy/fund-sys/bin/restart.sh
# 查看服务状态
/opt/fundplatform/deploy/fund-sys/bin/status.sh
```
#### 4.6.2 一键管理所有服务
```bash
# 一键启动所有服务
/opt/fundplatform/deploy/start-all.sh
# 一键停止所有服务
/opt/fundplatform/deploy/stop-all.sh
# 一键重启所有服务
/opt/fundplatform/deploy/restart-all.sh
# 查看所有服务状态
/opt/fundplatform/deploy/status.sh
```
## 五、部署操作指南
### 5.1 首次部署
```bash
# 1. 创建目录
mkdir -p /opt/fundplatform/deploy
mkdir -p /datacfs/applogs
# 2. 上传部署包
# 将deploy目录上传到/opt/fundplatform/
# 3. 赋予执行权限
chmod +x /opt/fundplatform/deploy/*/start.sh
chmod +x /opt/fundplatform/deploy/*/stop.sh
chmod +x /opt/fundplatform/deploy/*/restart.sh
chmod +x /opt/fundplatform/deploy/*.sh
# 4. 修改配置文件
# 编辑各服务的application.yml配置数据库、Redis、Nacos地址
# 5. 启动所有服务
/opt/fundplatform/deploy/start-all.sh
# 6. 检查服务状态
/opt/fundplatform/deploy/status.sh
```
### 5.2 服务管理
```bash
# 启动单个服务
/opt/fundplatform/deploy/fund-sys/start.sh
# 停止单个服务
/opt/fundplatform/deploy/fund-sys/stop.sh
# 重启单个服务
/opt/fundplatform/deploy/fund-sys/restart.sh
# 一键启动所有服务
/opt/fundplatform/deploy/start-all.sh
# 一键停止所有服务
/opt/fundplatform/deploy/stop-all.sh
# 一键重启所有服务
/opt/fundplatform/deploy/restart-all.sh
# 查看服务状态
/opt/fundplatform/deploy/status.sh
```
### 5.3 日志查看
```bash
# 查看实时日志
tail -f /datacfs/applogs/fund-sys/info.log
# 查看错误日志
tail -f /datacfs/applogs/fund-sys/error.log
# 查看API请求日志
tail -f /datacfs/applogs/fund-sys/aop.log
# 查看所有服务日志
tail -f /datacfs/applogs/*/info.log
```
### 5.4 服务更新
```bash
# 1. 备份旧版本
cp /opt/fundplatform/deploy/fund-sys/fund-sys.jar /opt/fundplatform/deploy/fund-sys/fund-sys.jar.bak
# 2. 上传新版本JAR包
scp fund-sys.jar user@server:/opt/fundplatform/deploy/fund-sys/
# 3. 重启服务
/opt/fundplatform/deploy/fund-sys/restart.sh
# 4. 检查服务状态
/opt/fundplatform/deploy/status.sh
tail -f /datacfs/applogs/fund-sys/info.log
```
---
## 六、常见问题处理
### 6.1 服务无法启动
```bash
# 检查端口占用
netstat -tlnp | grep 8100
# 检查Java进程
ps -ef | grep fund-sys
# 查看启动日志
tail -100 /datacfs/applogs/fund-sys/info.log
# 检查配置文件
cat /opt/fundplatform/deploy/fund-sys/application.yml
```
### 6.2 服务注册失败
```bash
# 检查Nacos是否运行
curl http://localhost:8848/nacos/v1/console/health/readiness
# 检查服务注册状态
curl http://localhost:8848/nacos/v1/ns/instance/list?serviceName=fund-sys&namespaceId=fund-platform
# 检查Nacos命名空间
curl http://localhost:8848/nacos/v1/console/namespaces
```
### 6.3 数据库连接失败
```bash
# 检查MySQL是否运行
systemctl status mysql
# 测试数据库连接
mysql -h localhost -u fund_user -p'Fund@123456' -e "SELECT 1"
# 检查数据库是否存在
mysql -u root -p'zjf@123456' -e "SHOW DATABASES LIKE 'fund_%'"
```
### 6.4 Redis连接失败
```bash
# 检查Redis是否运行
systemctl status redis
# 测试Redis连接
redis-cli -a 'zjf@123456' ping
```
---
## 七、附录
### 7.1 环境变量配置
```bash
# /opt/fundplatform/config/env.properties
# MySQL配置
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USERNAME=fund_user
MYSQL_PASSWORD=Fund@123456
# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=zjf@123456
# Nacos配置
NACOS_HOST=localhost
NACOS_PORT=8848
NACOS_NAMESPACE=fund-platform
NACOS_USERNAME=nacos
NACOS_PASSWORD=nacos
```
### 7.2 端口清单
| 服务 | 端口 | 协议 |
|------|------|------|
| MySQL | 3306 | TCP |
| Redis | 6379 | TCP |
| Nacos API | 8848 | HTTP |
| Nacos 控制台 | 8048 | HTTP |
| fund-gateway | 8000 | HTTP |
| fund-sys | 8100 | HTTP |
| fund-cust | 8200 | HTTP |
| fund-proj | 8300 | HTTP |
| fund-req | 8400 | HTTP |
| fund-exp | 8500 | HTTP |
| fund-receipt | 8600 | HTTP |
| fund-report | 8700 | HTTP |
| fund-file | 8800 | HTTP |
### 7.3 访问地址
| 服务 | 地址 |
|------|------|
| API网关 | http://服务器IP:8000 |
| Nacos控制台 | http://服务器IP:8848/nacos |
| 管理后台 | http://服务器IP:80 |
### 7.4 默认账号
| 系统 | 用户名 | 密码 |
|------|--------|------|
| Nacos | nacos | nacos |
| 管理后台 | admin | 123456 |
---
**文档结束**