2026-03-16 11:16:42 +08:00
|
|
|
|
# 打包与部署说明
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
本文档说明项目的 **4 个子项目** 如何单独或组合打包部署。**2 个 jar 包** 分别对应 **2 个前端**,可独立执行编译、打包、部署。
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
## 一、架构概览
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 2 个 jar 包 ↔ 2 个前端
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
| jar 包 | 对应前端 | 说明 |
|
|
|
|
|
|
|--------|----------|------|
|
|
|
|
|
|
| **miao-admin-2.2.jar** | `frontend`(admin 后台 Vue) | 管理后台 API + 后台静态站点 |
|
|
|
|
|
|
| **miao-front-2.2.jar** | `single_uniapp22miao`(用户端 H5/uni-app) | 积分商城、用户端 API |
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 4 个子项目(可单独打包部署)
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
| 子项目 | 产出 | 打包命令 | 说明 |
|
|
|
|
|
|
|--------|------|----------|------|
|
|
|
|
|
|
| **crmeb-admin** | `miao-admin-2.2.jar` | `mvn clean package -pl crmeb-admin -am -DskipTests` | 管理后台后端 |
|
|
|
|
|
|
| **crmeb-front** | `miao-front-2.2.jar` | `mvn clean package -pl crmeb-front -am -DskipTests` | 用户端 API |
|
|
|
|
|
|
| **frontend** | `frontend/dist` | `npm run build:prod` | 管理后台前端静态 |
|
|
|
|
|
|
| **single_uniapp22miao** | `single_uniapp22miao/unpackage/dist/build/h5` | `npm run build:h5` | 用户端 H5 静态 |
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
---
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
## 二、部署配置(deploy.conf)
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
配置位于 **backend/deploy.conf**,按段落区分环境(by80、miao50、shjjy153 等)。
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 通用变量
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
| 变量 | 说明 | 示例 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| `SERVER_HOST` | 服务器 IP | 123.56.214.80 |
|
|
|
|
|
|
| `SERVER_USER` | SSH 用户 | root |
|
|
|
|
|
|
| `SERVER_PORT` | SSH 端口 | 22 |
|
|
|
|
|
|
| `REMOTE_DIR_JAR` | jar 上传目录(两个 jar 可同目录) | /www/wwwroot/crmeb |
|
|
|
|
|
|
| `REMOTE_DIR_ADMIN` | admin 后台静态站点目录 | /www/wwwroot/jfadmin.bosenyuan.com |
|
|
|
|
|
|
| `REMOTE_DIR_FRONT` | 用户端 H5 静态站点目录(部分环境有) | /www/wwwroot/jjy-jf.fwxgpt.com |
|
|
|
|
|
|
| `FRONT_JAR_NAME` | 用户端 jar 文件名 | miao-front-2.2.jar |
|
|
|
|
|
|
| `ADMIN_JAR_NAME` | 管理后台 jar 文件名 | miao-admin-2.2.jar |
|
|
|
|
|
|
| `FRONT_LOCAL_PORT` | 用户端 API 端口 | 30031 |
|
|
|
|
|
|
| `ADMIN_LOCAL_PORT` | 管理后台 API 端口 | 30032 |
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 环境示例(deploy.conf)
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
- **by80**:`REMOTE_DIR_JAR`、`REMOTE_DIR_ADMIN`,profile=miao80
|
|
|
|
|
|
- **miao50**:`REMOTE_DIR`(jar 目录),profile=miao50
|
|
|
|
|
|
- **shjjy153**:`REMOTE_DIR_JAR`、`REMOTE_DIR_ADMIN`、`REMOTE_DIR_FRONT`,profile=shjjy153
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
## 三、单独打包(4 个子项目)
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 1. 仅打包 crmeb-admin(miao-admin-2.2.jar)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
cd backend
|
|
|
|
|
|
mvn clean package -pl crmeb-admin -am -DskipTests
|
|
|
|
|
|
# 产出:backend/crmeb-admin/target/miao-admin-2.2.jar
|
|
|
|
|
|
```
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 2. 仅打包 crmeb-front(miao-front-2.2.jar)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-03-16 11:16:42 +08:00
|
|
|
|
cd backend
|
|
|
|
|
|
mvn clean package -pl crmeb-front -am -DskipTests
|
|
|
|
|
|
# 产出:backend/crmeb-front/target/miao-front-2.2.jar
|
2026-03-12 16:51:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 3. 仅打包 admin 后台前端(frontend)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
cd frontend
|
|
|
|
|
|
export NODE_OPTIONS="${NODE_OPTIONS:-} --openssl-legacy-provider" # Node 17+ 需要
|
|
|
|
|
|
npm run build:prod
|
|
|
|
|
|
# 产出:frontend/dist
|
|
|
|
|
|
```
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 4. 仅打包用户端 H5 前端(single_uniapp22miao)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-03-16 11:16:42 +08:00
|
|
|
|
cd single_uniapp22miao
|
|
|
|
|
|
npm run build:h5
|
|
|
|
|
|
# 产出:single_uniapp22miao/unpackage/dist/build/h5
|
2026-03-12 16:51:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 四、单独启动(本机)
|
|
|
|
|
|
|
|
|
|
|
|
### 启动 miao-admin(管理后台 API)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-03-16 11:16:42 +08:00
|
|
|
|
cd backend
|
|
|
|
|
|
nohup java -jar crmeb-admin/target/miao-admin-2.2.jar \
|
|
|
|
|
|
--spring.profiles.active=miao80 \
|
|
|
|
|
|
--server.port=30032 > admin.log 2>&1 &
|
2026-03-12 16:51:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 启动 miao-front(用户端 API)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
cd backend
|
|
|
|
|
|
./shell/start-front-miao33.sh # 使用 miao33 配置,端口 30031
|
|
|
|
|
|
# 或指定 profile:
|
|
|
|
|
|
nohup java -jar crmeb-front/target/miao-front-2.2.jar \
|
|
|
|
|
|
--spring.profiles.active=miao33 > front-miao33.log 2>&1 &
|
|
|
|
|
|
```
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
## 五、by80 环境一键部署(admin 后台)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
部署目标:**miao-admin-2.2.jar** + **admin 后台静态**,上传到 by80 配置的服务器。
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 1. 配置 SSH 免密(一次性)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
ssh-copy-id -i ~/.ssh/id_ed25519_crmeb_deploy.pub root@123.56.214.80
|
|
|
|
|
|
```
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 2. 执行部署脚本
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cd backend
|
2026-03-16 11:16:42 +08:00
|
|
|
|
./shell/deploy-admin-by80.sh
|
2026-03-12 16:51:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
使用其他密钥:`SSH_IDENTITY=~/.ssh/你的私钥 ./shell/deploy-admin-by80.sh`
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 3. 脚本执行步骤
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
| 步骤 | 说明 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| 1 | 编译 crmeb-admin,生成 miao-admin-2.2.jar |
|
|
|
|
|
|
| 2 | 编译 frontend,生成 dist |
|
|
|
|
|
|
| 3 | 远程备份原有 jar 与后台静态 |
|
|
|
|
|
|
| 4 | 上传 miao-admin-2.2.jar 到 REMOTE_DIR_JAR |
|
|
|
|
|
|
| 5 | 上传 frontend/dist 到 REMOTE_DIR_ADMIN |
|
|
|
|
|
|
| 6 | 远程重启 admin 服务(profile=miao80, port=30032) |
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
## 六、其他环境
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
- **miao50**:使用 `./shell/deploy-admin-miao50.sh`,逻辑类似,配置来自 deploy.conf 中 miao50 段。
|
|
|
|
|
|
- **shjjy153**:deploy.conf 中配置了 `REMOTE_DIR_FRONT`,可扩展脚本上传 single_uniapp22miao 的 H5 构建产物到该目录。
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 七、远程服务器手动重启
|
|
|
|
|
|
|
|
|
|
|
|
### 重启 admin(miao-admin-2.2.jar)
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
ssh root@<SERVER_HOST>
|
|
|
|
|
|
cd /www/wwwroot/crmeb # 或 REMOTE_DIR_JAR
|
2026-03-12 16:51:44 +08:00
|
|
|
|
pkill -f miao-admin-2.2.jar || true
|
|
|
|
|
|
sleep 2
|
2026-03-16 11:16:42 +08:00
|
|
|
|
nohup java -Xms128m -Xmx200m -jar miao-admin-2.2.jar --spring.profiles.active=miao80 --server.port=30032 > admin.log 2>&1 &
|
|
|
|
|
|
pgrep -f miao-admin-2.2.jar && echo "Admin 已启动"
|
2026-03-12 16:51:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
### 重启 front(miao-front-2.2.jar)
|
2026-03-12 22:00:34 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
ssh root@<SERVER_HOST>
|
|
|
|
|
|
cd /www/wwwroot/crmeb # 或 REMOTE_DIR_JAR
|
|
|
|
|
|
pkill -f miao-front-2.2.jar || true
|
|
|
|
|
|
sleep 2
|
|
|
|
|
|
nohup java -Xms128m -Xmx200m -jar miao-front-2.2.jar --spring.profiles.active=miao33 --server.port=30031 > front.log 2>&1 &
|
|
|
|
|
|
pgrep -f miao-front-2.2.jar && echo "Front 已启动"
|
|
|
|
|
|
```
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-03-12 22:00:34 +08:00
|
|
|
|
## 八、故障排查
|
2026-03-12 16:51:44 +08:00
|
|
|
|
|
2026-03-16 11:16:42 +08:00
|
|
|
|
- **SSH Permission denied**:检查 `ssh-copy-id` 是否成功,或指定正确 `SSH_IDENTITY`。
|
|
|
|
|
|
- **前端构建 OpenSSL 报错**:设置 `export NODE_OPTIONS="--openssl-legacy-provider"`。
|
|
|
|
|
|
- **jar 未启动**:SSH 登录查看对应 log 文件及 `pgrep -f <jar名>`。
|