- 创建 CONFIG_MANAGEMENT.md 详细说明配置文件结构和管理规范 - 为 mt-pay 和 mt-startup 模块分别创建生产环境配置文件 - 将前端访问地址从生产域名改为开发环境本地地址 - 更新 PayPal Webhook 配置为开发环境内网穿透地址 - 调整应用启动时的访问地址提示信息 - 优化数据库连接和服务器配置的环境变量支持
233 lines
5.7 KiB
Markdown
233 lines
5.7 KiB
Markdown
# 配置文件管理说明
|
||
|
||
## 📁 配置文件结构
|
||
|
||
### 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配置
|
||
|