fundplatform/doc/单机部署文档.md
zhangjf f8e0a51314 docs: 更新文档中的前端部署路径地址
部署路径更新:
- fund-admin 部署路径: /fadmin/
- fund-mobile 部署路径: /fmobile/
- API网关前缀: /fund

更新内容:
1. 部署运维文档.md
   - 本地开发访问地址添加移动端H5
   - Docker Compose架构图更新前端访问路径
   - 服务清单添加访问路径说明
   - Nginx配置示例更新为子路径部署

2. 单机部署文档.md
   - 部署架构图更新前端路径
   - 前端打包说明添加部署脚本和子路径说明
   - 新增4.5 Nginx配置章节
   - 添加前端解压部署步骤
2026-02-23 10:53:04 +08:00

905 lines
28 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.2
> 更新日期: 2026-02-13
> 作者: zhangjf
---
## 一、部署概述
### 1.1 部署架构
```
┌─────────────────────────────────────────────────────────────────┐
│ 单机部署架构 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 前端服务 │ │
│ │ fund-admin (/fadmin/) fund-mobile (/fmobile/) │ │
│ └─────────────────────────┬───────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────▼───────────────────────────────┐ │
│ │ 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/ # 脚本目录统一从项目根目录scripts引用
│ ├── start.sh # 启动脚本(自动识别服务名)
│ ├── stop.sh # 停止脚本
│ ├── restart.sh # 重启脚本
│ └── status.sh # 状态查看脚本
├── lib/ # 依赖JAR目录
│ └── fund-sys.jar # 服务JAR包包含所有依赖
└── conf/ # 配置文件目录排除docker相关配置
├── env.properties # 统一配置(所有服务共用)
├── service.properties # 个性化配置(每服务独立)
├── application.yml # 主配置文件
├── application-*.yml # 环境配置文件
└── logback-spring.xml # 日志配置文件
```
#### 4.2.3 Assembly打包配置
项目使用统一的Assembly配置脚本统一管理在项目根目录
```
fundplatform/
├── assembly/
│ └── assembly.xml # 统一的Assembly配置
├── scripts/ # 统一的脚本目录
│ ├── start.sh # 启动脚本(自动识别服务名)
│ ├── stop.sh # 停止脚本
│ ├── restart.sh # 重启脚本
│ ├── status.sh # 状态查看脚本
│ ├── env.properties # 环境变量配置模板
│ ├── start-all.sh # 一键启动所有服务
│ ├── stop-all.sh # 一键停止所有服务
│ ├── restart-all.sh # 一键重启所有服务
│ └── status-all.sh # 查看所有服务状态
└── ...各服务模块
```
**Assembly配置特点**
- 脚本从项目根目录 `scripts/` 引用,避免重复
- 配置文件排除 `application-docker.yml` 等Docker相关配置
- 统一配置 `env.properties` 和个性化配置 `service.properties` 分离
- 个性化配置覆盖统一配置,支持多租户部署
#### 4.2.4 前端打包
前端项目采用 Nginx 子路径部署方式:
- **管理后台** (fund-admin): 部署路径 `/fadmin/`
- **移动端H5** (fund-mobile): 部署路径 `/fmobile/`
- **API网关前缀**: `/fund`
```bash
# 使用部署脚本打包(推荐)
./scripts/deploy-frontend-nginx.sh admin # 管理后台
./scripts/deploy-frontend-nginx.sh mobile # 移动端H5
# 或手动打包
# 管理后台打包
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/
# 解压前端发布包
mkdir -p /opt/fundplatform/web
unzip fund-admin-nginx.zip -d /opt/fundplatform/web/admin/
unzip fund-mobile-nginx.zip -d /opt/fundplatform/web/mobile/
# 复制Nginx配置
cp /opt/fundplatform/web/admin/nginx.conf /etc/nginx/conf.d/fadmin.conf
cp /opt/fundplatform/web/mobile/nginx.conf /etc/nginx/conf.d/fmobile.conf
```
### 4.5 Nginx 配置
前端采用子路径部署Nginx 配置示例:
```nginx
# /etc/nginx/conf.d/fundplatform.conf
server {
listen 80;
server_name localhost;
# 管理后台 (部署路径: /fadmin/)
location /fadmin/ {
alias /opt/fundplatform/web/admin/;
try_files $uri $uri/ /fadmin/index.html;
}
# 移动端H5 (部署路径: /fmobile/)
location /fmobile/ {
alias /opt/fundplatform/web/mobile/;
try_files $uri $uri/ /fmobile/index.html;
}
# API代理 (网关前缀: /fund)
location /fund/ {
proxy_pass http://127.0.0.1:8000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
**访问地址**
- 管理后台: `http://服务器IP/fadmin/`
- 移动端H5: `http://服务器IP/fmobile/`
```bash
# 上传一键管理脚本到deploy目录在解压服务包后执行
# 一键管理脚本位于项目根目录scripts目录需要单独上传
cp scripts/start-all.sh /opt/fundplatform/deploy/
cp scripts/stop-all.sh /opt/fundplatform/deploy/
cp scripts/restart-all.sh /opt/fundplatform/deploy/
cp scripts/status-all.sh /opt/fundplatform/deploy/
```
### 4.6 配置文件修改
各服务配置文件需要根据实际环境修改以下配置:
```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.7 服务管理脚本
每个服务的 `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 配置文件说明
#### 7.1.1 配置文件架构
项目采用**统一配置 + 个性化配置**分离架构:
| 配置文件 | 位置 | 用途 |
|----------|------|------|
| `env.properties` | scripts/ | 统一配置(所有服务共用) |
| `service.properties` | 各服务 src/main/resources/ | 个性化配置(每服务独立) |
**加载顺序**: 先加载 `env.properties`,后加载 `service.properties`(个性化覆盖统一)
#### 7.1.2 统一配置 (env.properties)
```properties
# /opt/fundplatform/deploy/fund-sys/conf/env.properties
# Nacos配置
NACOS_SERVER_ADDR=localhost:8848
NACOS_NAMESPACE=fund-platform
NACOS_GROUP=DEFAULT_GROUP
NACOS_USERNAME=nacos
NACOS_PASSWORD=nacos
# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=zjf@123456
REDIS_DATABASE=0
# 日志配置
LOG_PATH=/datacfs/applogs
LOG_LEVEL_ROOT=INFO
LOG_LEVEL_APP=DEBUG
# 多租户路由配置
TENANT_ROUTING_ENABLED=true
DEFAULT_TENANT_ID=1
```
#### 7.1.3 个性化配置 (service.properties)
```properties
# /opt/fundplatform/deploy/fund-sys/conf/service.properties
# 服务名称
APP_NAME=fund-sys
# 实例名称(多租户场景)
INSTANCE_NAME=fund-sys
# 租户标识(空值=共享实例,有值=VIP实例
TENANT_ID=
```
### 7.2 多租户部署示例
#### 共享实例
```properties
# service.properties
APP_NAME=fund-sys
INSTANCE_NAME=fund-sys
TENANT_ID=
```
#### VIP专属实例
```properties
# service.properties
APP_NAME=fund-sys
INSTANCE_NAME=fund-sys-vip001
TENANT_ID=vip001
```
### 7.3 环境变量配置(旧版兼容)
```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 |
---
**文档结束**