Files
MTKJPAY/CONFIG_MANAGEMENT.md
qiube 504ccabba1 docs(config): 添加配置文件管理说明并调整开发环境配置
- 创建 CONFIG_MANAGEMENT.md 详细说明配置文件结构和管理规范
- 为 mt-pay 和 mt-startup 模块分别创建生产环境配置文件
- 将前端访问地址从生产域名改为开发环境本地地址
- 更新 PayPal Webhook 配置为开发环境内网穿透地址
- 调整应用启动时的访问地址提示信息
- 优化数据库连接和服务器配置的环境变量支持
2025-12-26 16:05:53 +08:00

233 lines
5.7 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.
# 配置文件管理说明
## 📁 配置文件结构
### 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配置