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配置
|
|||
|
|
|