- 创建 CONFIG_MANAGEMENT.md 详细说明配置文件结构和管理规范 - 为 mt-pay 和 mt-startup 模块分别创建生产环境配置文件 - 将前端访问地址从生产域名改为开发环境本地地址 - 更新 PayPal Webhook 配置为开发环境内网穿透地址 - 调整应用启动时的访问地址提示信息 - 优化数据库连接和服务器配置的环境变量支持
5.7 KiB
5.7 KiB
配置文件管理说明
📁 配置文件结构
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启动
启动方式:
# 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启动
启动方式:
java -jar mt-startup-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
📝 配置项说明
前端URL配置
开发环境 (application-dev.yml):
app:
frontend:
url: http://localhost:3000
生产环境 (application-prod.yml):
app:
frontend:
url: ${app.frontend.url:https://shopd.mtkj2025.com}
说明:
- 开发环境固定使用
localhost:3000 - 生产环境支持通过环境变量覆盖:
-Dapp.frontend.url=https://your-domain.com
PayPal Webhook配置
开发环境 (application-dev.yml):
paypal:
webhook-url: https://2646b437.r33.cpolar.top/api/paypal/webhook
生产环境 (application-prod.yml):
paypal:
webhook-url: ${paypal.webhook-url:https://shopd.mtkj2025.com/api/paypal/webhook}
说明:
- 开发环境使用内网穿透服务(cpolar/ngrok)
- 生产环境使用域名,支持通过环境变量覆盖
🚀 部署流程
本地开发
-
确保使用dev配置
application.yml中spring.profiles.active: dev- 或启动时指定:
--spring.profiles.active=dev
-
启动后端
# IDE中直接运行 # 或 mvn spring-boot:run -Dspring-boot.run.profiles=dev -
启动前端
cd E:\MTKJPAY-FRONT npm run dev -
访问地址
- 前端:
http://localhost:3000 - 后端API:
http://localhost:8082/api
- 前端:
生产部署
-
打包应用
cd E:\MTKJPAY mvn clean package -DskipTests -
上传到服务器
- 上传
mt-startup/target/mt-startup-0.0.1-SNAPSHOT.jar
- 上传
-
启动应用(使用prod配置)
java -jar mt-startup-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod -
访问地址
- 前端:
https://shopd.mtkj2025.com - 后端API:
https://shopd.mtkj2025.com/api(通过Nginx代理)
- 前端:
⚠️ 重要提示
1. 配置文件隔离
- ✅ 开发环境配置不会影响生产环境
- ✅ 生产环境配置不会影响本地开发
- ✅ 打包时不会覆盖服务器配置
2. 环境变量覆盖
生产环境支持通过环境变量或启动参数覆盖配置:
# 覆盖前端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代码中的默认值设置为开发环境值:
@Value("${app.frontend.url:http://localhost:3000}")
private String frontendUrl;
- 如果配置文件中没有设置,使用默认值(开发环境)
- 如果配置文件中设置了,使用配置文件的值
4. 配置文件优先级
Spring Boot配置优先级(从高到低):
- 命令行参数(
--spring.profiles.active=prod) - 环境变量
application-{profile}.ymlapplication.yml- Java代码中的默认值
📋 配置检查清单
开发环境
application.yml中spring.profiles.active: devapplication-dev.yml中前端URL为http://localhost:3000application-dev.yml中PayPal Webhook使用内网穿透- Java代码默认值为
http://localhost:3000
生产环境
application-prod.yml中前端URL为https://shopd.mtkj2025.comapplication-prod.yml中PayPal Webhook为https://shopd.mtkj2025.com/api/paypal/webhook- 支持通过环境变量覆盖配置
- 打包时使用
--spring.profiles.active=prod启动
🔍 验证方法
验证开发环境配置
# 启动应用
java -jar app.jar --spring.profiles.active=dev
# 检查日志,应该看到:
# - 前端代理地址: http://localhost:3000
验证生产环境配置
# 启动应用
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配置