Files
ai_dianshang/server/README_CONFIG.md
2025-11-17 14:11:46 +08:00

3.4 KiB
Raw Permalink Blame History

环境配置切换使用说明

本项目支持根据系统环境变量自动切换不同的配置文件,以适应开发、测试和生产环境的不同需求。

配置文件结构

configs/
├── config.yaml         # 默认配置文件
├── config.dev.yaml     # 开发环境配置
├── config.test.yaml    # 测试环境配置
└── config.prod.yaml    # 生产环境配置

环境变量设置

系统会按以下优先级检查环境变量:

  1. GO_ENV
  2. APP_ENV
  3. ENVIRONMENT

如果没有设置任何环境变量默认使用开发环境development

支持的环境值

  • developmentdev → 使用 config.dev.yaml
  • testtesting → 使用 config.test.yaml
  • productionprod → 使用 config.prod.yaml
  • 其他值 → 使用 config.yaml

使用方法

方法一:直接设置环境变量

Windows (PowerShell):

# 开发环境
$env:GO_ENV = "development"
go run cmd/main.go

# 测试环境
$env:GO_ENV = "test"
go run cmd/main.go

# 生产环境
$env:GO_ENV = "production"
go run cmd/main.go

Linux/Mac:

# 开发环境
export GO_ENV=development
go run cmd/main.go

# 测试环境
export GO_ENV=test
go run cmd/main.go

# 生产环境
export GO_ENV=production
go run cmd/main.go

方法二:使用提供的启动脚本

Windows:

start.bat

Linux/Mac:

chmod +x start.sh
./start.sh

启动脚本会提供交互式菜单,让你选择要启动的环境。

方法三:一次性设置环境变量

Windows:

# 开发环境
$env:GO_ENV="development"; go run cmd/main.go

# 测试环境
$env:GO_ENV="test"; go run cmd/main.go

# 生产环境
$env:GO_ENV="production"; go run cmd/main.go

Linux/Mac:

# 开发环境
GO_ENV=development go run cmd/main.go

# 测试环境
GO_ENV=test go run cmd/main.go

# 生产环境
GO_ENV=production go run cmd/main.go

各环境配置差异

开发环境 (config.dev.yaml)

  • 数据库:ai_dianshang_dev
  • 服务器模式:debug
  • 日志级别:debug
  • Redis DB0

测试环境 (config.test.yaml)

  • 数据库:ai_dianshang_test
  • 服务器模式:test
  • 日志级别:info
  • Redis DB1

生产环境 (config.prod.yaml)

  • 数据库:ai_dianshang
  • 服务器模式:release
  • 日志级别:info
  • Redis DB0
  • 日志输出到文件:logs/app.prod.log

配置验证

启动时,系统会自动显示当前加载的配置信息:

2025/10/15 16:19:39 成功加载配置文件: D:\project\Work\dianshang\server\configs\config.dev.yaml (环境: development)
2025/10/15 16:19:39 === 配置信息 ===
2025/10/15 16:19:39 环境: development
2025/10/15 16:19:39 服务器端口: 8080
2025/10/15 16:19:39 服务器模式: debug
2025/10/15 16:19:39 数据库: root@127.0.0.1:3306/ai_dianshang_dev
2025/10/15 16:19:39 Redis: localhost:6379 (DB:0)
2025/10/15 16:19:39 日志级别: debug
2025/10/15 16:19:39 微信AppID: wx430b70d696b4dbd7
2025/10/15 16:19:39 ===============

测试配置切换

可以运行测试脚本验证配置切换功能:

go run test_config_env.go

该脚本会测试所有环境的配置加载情况。

注意事项

  1. 确保对应环境的数据库已创建
  2. 生产环境建议使用环境变量管理敏感信息
  3. 修改配置文件后需要重启应用
  4. 日志文件路径需要确保目录存在且有写入权限