docs(config): 添加配置文件管理说明并调整开发环境配置
- 创建 CONFIG_MANAGEMENT.md 详细说明配置文件结构和管理规范 - 为 mt-pay 和 mt-startup 模块分别创建生产环境配置文件 - 将前端访问地址从生产域名改为开发环境本地地址 - 更新 PayPal Webhook 配置为开发环境内网穿透地址 - 调整应用启动时的访问地址提示信息 - 优化数据库连接和服务器配置的环境变量支持
This commit is contained in:
232
CONFIG_MANAGEMENT.md
Normal file
232
CONFIG_MANAGEMENT.md
Normal file
@@ -0,0 +1,232 @@
|
||||
# 配置文件管理说明
|
||||
|
||||
## 📁 配置文件结构
|
||||
|
||||
### mt-pay 模块
|
||||
```
|
||||
mt-pay/src/main/resources/
|
||||
├── application.yml # 基础配置,只设置active profile
|
||||
├── application-dev.yml # 开发环境配置(本地开发)
|
||||
├── application-prod.yml # 生产环境配置(服务器部署)
|
||||
└── application-test.yml # 测试环境配置(可选)
|
||||
```
|
||||
|
||||
### mt-startup 模块
|
||||
```
|
||||
mt-startup/src/main/resources/
|
||||
├── application.yml # 基础配置,只设置active profile
|
||||
├── application-dev.yml # 开发环境配置(本地开发)
|
||||
└── application-prod.yml # 生产环境配置(服务器部署)
|
||||
```
|
||||
|
||||
## 🔧 环境配置说明
|
||||
|
||||
### 开发环境(dev)
|
||||
|
||||
**配置文件**: `application-dev.yml`
|
||||
|
||||
**配置内容**:
|
||||
- 前端URL: `http://localhost:3000`(本地开发)
|
||||
- PayPal Webhook: 使用内网穿透(如 `https://xxx.cpolar.top/api/paypal/webhook`)
|
||||
- 数据库: 开发环境数据库连接
|
||||
|
||||
**使用场景**:
|
||||
- 本地开发调试
|
||||
- IDE中直接运行
|
||||
- 使用 `--spring.profiles.active=dev` 启动
|
||||
|
||||
**启动方式**:
|
||||
```bash
|
||||
# IDE中运行
|
||||
# 或命令行
|
||||
java -jar mt-startup-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
|
||||
```
|
||||
|
||||
### 生产环境(prod)
|
||||
|
||||
**配置文件**: `application-prod.yml`
|
||||
|
||||
**配置内容**:
|
||||
- 前端URL: `https://shopd.mtkj2025.com`(生产域名)
|
||||
- PayPal Webhook: `https://shopd.mtkj2025.com/api/paypal/webhook`
|
||||
- 数据库: 生产环境数据库连接(通过环境变量配置)
|
||||
|
||||
**使用场景**:
|
||||
- 服务器部署
|
||||
- 生产环境运行
|
||||
- 使用 `--spring.profiles.active=prod` 启动
|
||||
|
||||
**启动方式**:
|
||||
```bash
|
||||
java -jar mt-startup-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
|
||||
```
|
||||
|
||||
## 📝 配置项说明
|
||||
|
||||
### 前端URL配置
|
||||
|
||||
**开发环境** (`application-dev.yml`):
|
||||
```yaml
|
||||
app:
|
||||
frontend:
|
||||
url: http://localhost:3000
|
||||
```
|
||||
|
||||
**生产环境** (`application-prod.yml`):
|
||||
```yaml
|
||||
app:
|
||||
frontend:
|
||||
url: ${app.frontend.url:https://shopd.mtkj2025.com}
|
||||
```
|
||||
|
||||
**说明**:
|
||||
- 开发环境固定使用 `localhost:3000`
|
||||
- 生产环境支持通过环境变量覆盖:`-Dapp.frontend.url=https://your-domain.com`
|
||||
|
||||
### PayPal Webhook配置
|
||||
|
||||
**开发环境** (`application-dev.yml`):
|
||||
```yaml
|
||||
paypal:
|
||||
webhook-url: https://2646b437.r33.cpolar.top/api/paypal/webhook
|
||||
```
|
||||
|
||||
**生产环境** (`application-prod.yml`):
|
||||
```yaml
|
||||
paypal:
|
||||
webhook-url: ${paypal.webhook-url:https://shopd.mtkj2025.com/api/paypal/webhook}
|
||||
```
|
||||
|
||||
**说明**:
|
||||
- 开发环境使用内网穿透服务(cpolar/ngrok)
|
||||
- 生产环境使用域名,支持通过环境变量覆盖
|
||||
|
||||
## 🚀 部署流程
|
||||
|
||||
### 本地开发
|
||||
|
||||
1. **确保使用dev配置**
|
||||
- `application.yml` 中 `spring.profiles.active: dev`
|
||||
- 或启动时指定:`--spring.profiles.active=dev`
|
||||
|
||||
2. **启动后端**
|
||||
```bash
|
||||
# IDE中直接运行
|
||||
# 或
|
||||
mvn spring-boot:run -Dspring-boot.run.profiles=dev
|
||||
```
|
||||
|
||||
3. **启动前端**
|
||||
```bash
|
||||
cd E:\MTKJPAY-FRONT
|
||||
npm run dev
|
||||
```
|
||||
|
||||
4. **访问地址**
|
||||
- 前端: `http://localhost:3000`
|
||||
- 后端API: `http://localhost:8082/api`
|
||||
|
||||
### 生产部署
|
||||
|
||||
1. **打包应用**
|
||||
```bash
|
||||
cd E:\MTKJPAY
|
||||
mvn clean package -DskipTests
|
||||
```
|
||||
|
||||
2. **上传到服务器**
|
||||
- 上传 `mt-startup/target/mt-startup-0.0.1-SNAPSHOT.jar`
|
||||
|
||||
3. **启动应用(使用prod配置)**
|
||||
```bash
|
||||
java -jar mt-startup-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
|
||||
```
|
||||
|
||||
4. **访问地址**
|
||||
- 前端: `https://shopd.mtkj2025.com`
|
||||
- 后端API: `https://shopd.mtkj2025.com/api`(通过Nginx代理)
|
||||
|
||||
## ⚠️ 重要提示
|
||||
|
||||
### 1. 配置文件隔离
|
||||
|
||||
- ✅ **开发环境配置不会影响生产环境**
|
||||
- ✅ **生产环境配置不会影响本地开发**
|
||||
- ✅ **打包时不会覆盖服务器配置**
|
||||
|
||||
### 2. 环境变量覆盖
|
||||
|
||||
生产环境支持通过环境变量或启动参数覆盖配置:
|
||||
|
||||
```bash
|
||||
# 覆盖前端URL
|
||||
java -jar app.jar --spring.profiles.active=prod \
|
||||
-Dapp.frontend.url=https://your-domain.com
|
||||
|
||||
# 覆盖PayPal Webhook
|
||||
java -jar app.jar --spring.profiles.active=prod \
|
||||
-Dpaypal.webhook-url=https://your-domain.com/api/paypal/webhook
|
||||
```
|
||||
|
||||
### 3. 默认值设置
|
||||
|
||||
Java代码中的默认值设置为开发环境值:
|
||||
|
||||
```java
|
||||
@Value("${app.frontend.url:http://localhost:3000}")
|
||||
private String frontendUrl;
|
||||
```
|
||||
|
||||
- 如果配置文件中没有设置,使用默认值(开发环境)
|
||||
- 如果配置文件中设置了,使用配置文件的值
|
||||
|
||||
### 4. 配置文件优先级
|
||||
|
||||
Spring Boot配置优先级(从高到低):
|
||||
1. 命令行参数(`--spring.profiles.active=prod`)
|
||||
2. 环境变量
|
||||
3. `application-{profile}.yml`
|
||||
4. `application.yml`
|
||||
5. Java代码中的默认值
|
||||
|
||||
## 📋 配置检查清单
|
||||
|
||||
### 开发环境
|
||||
- [x] `application.yml` 中 `spring.profiles.active: dev`
|
||||
- [x] `application-dev.yml` 中前端URL为 `http://localhost:3000`
|
||||
- [x] `application-dev.yml` 中PayPal Webhook使用内网穿透
|
||||
- [x] Java代码默认值为 `http://localhost:3000`
|
||||
|
||||
### 生产环境
|
||||
- [x] `application-prod.yml` 中前端URL为 `https://shopd.mtkj2025.com`
|
||||
- [x] `application-prod.yml` 中PayPal Webhook为 `https://shopd.mtkj2025.com/api/paypal/webhook`
|
||||
- [x] 支持通过环境变量覆盖配置
|
||||
- [x] 打包时使用 `--spring.profiles.active=prod` 启动
|
||||
|
||||
## 🔍 验证方法
|
||||
|
||||
### 验证开发环境配置
|
||||
```bash
|
||||
# 启动应用
|
||||
java -jar app.jar --spring.profiles.active=dev
|
||||
|
||||
# 检查日志,应该看到:
|
||||
# - 前端代理地址: http://localhost:3000
|
||||
```
|
||||
|
||||
### 验证生产环境配置
|
||||
```bash
|
||||
# 启动应用
|
||||
java -jar app.jar --spring.profiles.active=prod
|
||||
|
||||
# 检查日志,应该看到:
|
||||
# - 前端地址: https://shopd.mtkj2025.com
|
||||
# - Webhook URL: https://shopd.mtkj2025.com/api/paypal/webhook
|
||||
```
|
||||
|
||||
## 📚 相关文档
|
||||
|
||||
- `DEPLOYMENT_README.md` - 部署说明
|
||||
- `DOMAIN_CONFIG_SUMMARY.md` - 域名配置总结
|
||||
- `NGINX_SSL_CONFIG.md` - Nginx SSL配置
|
||||
|
||||
Reference in New Issue
Block a user