|
@@ -0,0 +1,130 @@
|
|
|
|
|
+# 环境配置与生产打包操作指南(必读)
|
|
|
|
|
+
|
|
|
|
|
+> **本文档是生产部署的核心操作手册,每次打包上线前必须阅读。**
|
|
|
|
|
+> 错误配置可能导致生产环境连接开发 Nacos 或使用开发签章,造成严重事故。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 一、NACOS_ADDR 环境变量配置
|
|
|
|
|
+
|
|
|
|
|
+### 作用
|
|
|
|
|
+
|
|
|
|
|
+控制服务启动时连接哪台 Nacos 服务器。代码默认值为 `127.0.0.1:8848`(本机)。
|
|
|
|
|
+
|
|
|
|
|
+### 三套环境对照
|
|
|
|
|
+
|
|
|
|
|
+| 环境 | NACOS_ADDR 值 | 是否需要手动设置 |
|
|
|
|
|
+|------|--------------|-----------------|
|
|
|
|
|
+| 本地开发 | `127.0.0.1:8848`(默认值) | **不需要** |
|
|
|
|
|
+| 联合开发 | `192.168.8.4:8848` | **需要** |
|
|
|
|
|
+| 生产部署 | `127.0.0.1:8848`(默认值,Nacos 同机) | **不需要** |
|
|
|
|
|
+
|
|
|
|
|
+### 配置方式(联合开发时使用)
|
|
|
|
|
+
|
|
|
|
|
+**方式 A:IDEA Run Configuration(推荐)**
|
|
|
|
|
+
|
|
|
|
|
+Services 面板 → 右键启动项 → Modify Run Configuration → Environment variables 填入:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+NACOS_ADDR=192.168.8.4:8848
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+**方式 B:Windows 系统环境变量(一劳永逸)**
|
|
|
|
|
+
|
|
|
|
|
+此电脑 → 右键属性 → 高级系统设置 → 环境变量 → 用户变量新建:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+变量名:NACOS_ADDR
|
|
|
|
|
+变量值:192.168.8.4:8848
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+设完后 IDEA 重启生效。切回本地开发时改为 `127.0.0.1:8848`。
|
|
|
|
|
+
|
|
|
|
|
+**方式 C:命令行启动 jar 时**
|
|
|
|
|
+
|
|
|
|
|
+```bat
|
|
|
|
|
+set NACOS_ADDR=192.168.8.4:8848
|
|
|
|
|
+java -jar xxx.jar
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 二、生产打包操作流程(重中之重)
|
|
|
|
|
+
|
|
|
|
|
+> **以下每一步都必须执行,缺一不可。**
|
|
|
|
|
+
|
|
|
|
|
+### 打包前:切换 Maven Profile
|
|
|
|
|
+
|
|
|
|
|
+1. 打开 IDEA 右侧 **Maven** 面板
|
|
|
|
|
+2. 展开项目 → 找到 **Profiles** 区域
|
|
|
|
|
+3. **取消勾选 `dev`** → **勾选 `prod`**
|
|
|
|
|
+
|
|
|
|
|
+> 勾选 prod 时 dev 会自动失效,业务参数切换为 production。
|
|
|
|
|
+
|
|
|
|
|
+### 执行打包
|
|
|
|
|
+
|
|
|
|
|
+4. 在 Maven 面板 **Lifecycle** 下依次双击:
|
|
|
|
|
+ - **clean**
|
|
|
|
|
+ - **install**
|
|
|
|
|
+
|
|
|
|
|
+> 也可命令行执行:`mvn clean install -Pprod`
|
|
|
|
|
+
|
|
|
|
|
+### 打包后:验证包内容(必须执行)
|
|
|
|
|
+
|
|
|
|
|
+5. 找到打好的 jar 文件,用压缩工具打开,检查以下文件:
|
|
|
|
|
+
|
|
|
|
|
+ - `BOOT-INF/classes/application-assess.yml` → `active: production`
|
|
|
|
|
+ - `BOOT-INF/classes/application-finance.yml` → `active: production`
|
|
|
|
|
+ - `BOOT-INF/classes/application-human.yml` → `active: production`
|
|
|
|
|
+
|
|
|
|
|
+6. 检查签章地址是否正确:
|
|
|
|
|
+
|
|
|
|
|
+ - `BOOT-INF/classes/application-assess-production.yml` → `signature_http_top: http://121.40.158.10:9182`
|
|
|
|
|
+ - `BOOT-INF/classes/application-finance-production.yml` → `signature_http_top: http://121.40.158.10:9182`
|
|
|
|
|
+ - `BOOT-INF/classes/application-human-production.yml` → `signature_http_top: http://121.40.158.10:9182`
|
|
|
|
|
+
|
|
|
|
|
+> **如果 active 不是 production 或签章地址不是 121.40.158.10,说明打包时 profile 没切对,绝对不能部署!**
|
|
|
|
|
+
|
|
|
|
|
+### 打包后:恢复开发环境(必须执行)
|
|
|
|
|
+
|
|
|
|
|
+7. 回到 Maven 面板 **Profiles** 区域:
|
|
|
|
|
+ - **取消勾选 `prod`** → **勾选 `dev`**
|
|
|
|
|
+
|
|
|
|
|
+> **这一步不做,下次本地开发或测试打包会打出生产包!**
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 三、生产部署 checklist
|
|
|
|
|
+
|
|
|
|
|
+上线前逐项确认,全部打勾才能部署:
|
|
|
|
|
+
|
|
|
|
|
+- [ ] Maven 面板已勾选 `prod`、取消 `dev`
|
|
|
|
|
+- [ ] 已执行 clean → install(或 `mvn clean install -Pprod`)
|
|
|
|
|
+- [ ] 已验证 jar 内 `active: production`
|
|
|
|
|
+- [ ] 已验证签章地址为 `http://121.40.158.10:9182`
|
|
|
|
|
+- [ ] Maven 面板已勾回 `dev`、取消 `prod`
|
|
|
|
|
+- [ ] 生产 Nacos 已创建 pro 命名空间
|
|
|
|
|
+- [ ] 生产 Nacos 已导入全部服务 dataId
|
|
|
|
|
+- [ ] 生产 Nacos 配置中数据库、Redis 指向生产资源
|
|
|
|
|
+- [ ] 抽一个服务启动验证:能连上生产 Nacos、拉到 pro 配置、注册成功
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 四、常见错误与后果
|
|
|
|
|
+
|
|
|
|
|
+| 错误操作 | 后果 | 严重度 |
|
|
|
|
|
+|---------|------|--------|
|
|
|
|
|
+| 打包时忘记勾 prod | 生产包带着开发签章地址(192.168.2.130),签章功能连到测试服务器 | **致命** |
|
|
|
|
|
+| 打完包忘记勾回 dev | 下次本地开发打出生产包,本地测试读到生产配置 | **高** |
|
|
|
|
|
+| 联合开发忘记设 NACOS_ADDR | 服务连本机 Nacos,拉不到联调配置,启动报错或读到错误配置 | **中** |
|
|
|
|
|
+| 生产部署时误设 NACOS_ADDR=192.168.8.4 | 生产服务连到开发 Nacos,读到开发环境的数据库/Redis 配置 | **致命** |
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 五、快速记忆
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+本地开发:直接 Run,什么都不用管
|
|
|
|
|
+联合开发:设 NACOS_ADDR=192.168.8.4:8848
|
|
|
|
|
+生产打包:勾 prod → clean → install → 验证 → 勾回 dev
|
|
|
|
|
+```
|