# 配置文件说明 ## 配置文件位置 配置文件位于 `conf.d/` 目录下: - `app.json` - 应用基础配置(端口、运行模式等) - `config.json` - 环境配置(数据库、Redis等,根据运行模式自动选择) ## 配置步骤 ### 1. MySQL 数据库配置 需要配置两个数据库: #### 1.1 系统管理数据库(app_admin) 在 `config.json` 的 `mysql` 节点中配置: ```json "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.json` 的 `biz-list` 数组中配置业务数据库: ```json "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.json` 的 `redis` 节点中配置: ```json "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 配置 ```json "jwt": { "signing-key": "app.!@#$1234", // JWT签名密钥(请修改为复杂密钥) "expires-time": 24, // Token过期时间(小时) "issuer": "appTemp" // 签发者 } ``` #### 3.2 文件存储配置 ```json "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": "..." } } ``` ## 配置示例 ### 本地开发环境配置示例 ```json { "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" } ] } ``` ## 配置验证 配置完成后,可以运行以下命令验证配置: ```bash # 显示配置信息 task config # 或 go run main.go config ``` 如果配置正确,会显示: - 当前运行模式 - HTTP服务监听端口 - 路由前缀 - 业务代理地址 - 数据库别名映射 - 代理映射信息 ## 注意事项 1. **数据库密码**:请务必修改默认密码 `123456` 为实际密码 2. **JWT密钥**:生产环境请使用复杂的签名密钥 3. **Redis密码**:如果Redis设置了密码,务必填写 4. **数据库连接**:确保数据库服务已启动并可访问 5. **端口占用**:确保配置的端口未被占用 ## 下一步 配置完成后,执行: ```bash # 3. 同步数据库 task migrate # 或 go run main.go migrate ```