配置说明.md 4.8 KB

配置文件说明

配置文件位置

配置文件位于 conf.d/ 目录下:

  • app.json - 应用基础配置(端口、运行模式等)
  • config.json - 环境配置(数据库、Redis等,根据运行模式自动选择)

配置步骤

1. MySQL 数据库配置

需要配置两个数据库:

1.1 系统管理数据库(app_admin)

config.jsonmysql 节点中配置:

"mysql": {
  "prefix": "",                    // 表前缀(通常为空)
  "port": "3306",                  // MySQL端口
  "config": "charset=utf8mb4&parseTime=True&loc=Local",  // 连接参数
  "db-name": "app_admin",          // 数据库名称(系统管理库)
  "username": "root",               // 数据库用户名
  "password": "123456",             // 数据库密码(请修改为实际密码)
  "path": "127.0.0.1",             // 数据库地址
  "engine": "",                     // 存储引擎(默认InnoDB)
  "log-mode": "error",              // 日志级别:silent/error/warn/info
  "max-idle-conns": 10,             // 最大空闲连接数
  "max-open-conns": 10,             // 最大打开连接数
  "singular": false,                // 是否禁用表名复数
  "log-zap": false                  // 是否使用zap记录日志
}

1.2 业务数据库配置(biz-list)

config.jsonbiz-list 数组中配置业务数据库:

"biz-list": [
  {
    "alias-name": "app",            // 业务库别名
    "proxy-url": "http://127.0.0.1:2001",  // 业务服务代理地址
    "proxy-alias": "app",           // 代理别名
    "prefix": "",                    // 表前缀
    "port": "3306",                  // MySQL端口
    "config": "charset=utf8mb4&parseTime=True&loc=Local",
    "db-name": "app",                // 业务数据库名称
    "username": "root",              // 数据库用户名
    "password": "123456",            // 数据库密码(请修改为实际密码)
    "path": "127.0.0.1",             // 数据库地址
    "engine": "",
    "log-mode": "error",
    "max-idle-conns": 10,
    "max-open-conns": 10,
    "singular": false,
    "log-zap": false
  }
]

注意:可以配置多个业务数据库,每个业务库对应一个数组元素。

2. Redis 配置

config.jsonredis 节点中配置:

"redis": {
  "addr": "127.0.0.1:6379",         // Redis地址和端口
  "password": "",                    // Redis密码(如果有密码请填写)
  "db": 0,                          // Redis数据库索引(0-15)
  "enabledTls": false,              // 是否启用TLS加密
  "enabledCluster": false,          // 是否启用集群模式
  "cluster": [                      // 集群节点列表(集群模式时使用)
    "127.0.0.1:6379"
  ]
}

3. 其他重要配置

3.1 JWT 配置

"jwt": {
  "signing-key": "app.!@#$1234",    // JWT签名密钥(请修改为复杂密钥)
  "expires-time": 24,               // Token过期时间(小时)
  "issuer": "appTemp"               // 签发者
}

3.2 文件存储配置

"file": {
  "oss-type": "local",               // 存储类型:local/oss
  "path": "http://127.0.0.1:2002",  // 文件访问路径
  "proxy-path": "/admin/api/static", // 代理路径
  "store-path": "./static",          // 本地存储路径
  "origin-conf": {                   // OSS配置(使用OSS时配置)
    "access-key-id": "...",
    "access-key-secret": "...",
    "base-path": "test",
    "bucket-name": "...",
    "bucket-url": "...",
    "endpoint": "..."
  }
}

配置示例

本地开发环境配置示例

{
  "mysql": {
    "db-name": "app_admin",
    "username": "root",
    "password": "your_password",
    "path": "127.0.0.1",
    "port": "3306"
  },
  "redis": {
    "addr": "127.0.0.1:6379",
    "password": "",
    "db": 0
  },
  "biz-list": [
    {
      "alias-name": "app",
      "db-name": "app",
      "username": "root",
      "password": "your_password",
      "path": "127.0.0.1",
      "port": "3306"
    }
  ]
}

配置验证

配置完成后,可以运行以下命令验证配置:

# 显示配置信息
task config
# 或
go run main.go config

如果配置正确,会显示:

  • 当前运行模式
  • HTTP服务监听端口
  • 路由前缀
  • 业务代理地址
  • 数据库别名映射
  • 代理映射信息

注意事项

  1. 数据库密码:请务必修改默认密码 123456 为实际密码
  2. JWT密钥:生产环境请使用复杂的签名密钥
  3. Redis密码:如果Redis设置了密码,务必填写
  4. 数据库连接:确保数据库服务已启动并可访问
  5. 端口占用:确保配置的端口未被占用

下一步

配置完成后,执行:

# 3. 同步数据库
task migrate
# 或
go run main.go migrate