配置说明
OpsHub 使用 YAML 格式的配置文件,本文档详细说明各配置项的含义和使用方法。
配置文件位置
主配置文件位于 config/config.yaml,系统启动时会自动加载该文件。
如果使用 Docker 部署,需要通过
-v 参数挂载配置文件到 /app/config/config.yaml完整配置示例
# ===========================================
# OpsHub 配置文件
# ===========================================
# 服务器配置
server:
mode: release # 运行模式: debug, release, test
http_port: 9876 # HTTP 服务端口
rpc_port: 9090 # RPC 服务端口 (内部通信)
read_timeout: 60000 # 读取超时 (毫秒)
write_timeout: 60000 # 写入超时 (毫秒)
jwt_secret: "your-secret-key-change-in-production"
# 数据库配置
database:
driver: mysql # 数据库类型: mysql
host: 127.0.0.1 # 数据库地址
port: 3306 # 数据库端口
database: opshub # 数据库名称
username: root # 用户名
password: "123456" # 密码
max_idle_conns: 10 # 最大空闲连接数
max_open_conns: 100 # 最大打开连接数
conn_max_lifetime: 3600 # 连接最大生命周期 (秒)
# Redis 配置
redis:
host: 127.0.0.1 # Redis 地址
port: 6379 # Redis 端口
password: "" # 密码 (无密码留空)
db: 0 # 数据库编号
pool_size: 10 # 连接池大小
min_idle_conn: 5 # 最小空闲连接数
# 日志配置
log:
level: info # 日志级别: debug, info, warn, error
filename: logs/app.log # 日志文件路径
max_size: 100 # 单个日志文件最大大小 (MB)
max_backups: 10 # 保留的旧日志文件数量
max_age: 30 # 日志文件保留天数
compress: true # 是否压缩旧日志
console: true # 是否同时输出到控制台
配置项详解
Server 服务器配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
mode | string | release | 运行模式,debug 模式会输出更详细的日志 |
http_port | int | 9876 | HTTP API 服务监听端口 |
rpc_port | int | 9090 | 内部 RPC 通信端口 |
read_timeout | int | 60000 | HTTP 读取超时时间(毫秒) |
write_timeout | int | 60000 | HTTP 写入超时时间(毫秒) |
jwt_secret | string | - | JWT 签名密钥,生产环境务必修改 |
安全警告:生产环境必须修改
jwt_secret,使用至少 32 位的随机字符串。Database 数据库配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
driver | string | mysql | 数据库驱动,目前仅支持 mysql |
host | string | 127.0.0.1 | 数据库服务器地址 |
port | int | 3306 | 数据库端口 |
database | string | opshub | 数据库名称 |
username | string | root | 数据库用户名 |
password | string | - | 数据库密码 |
max_idle_conns | int | 10 | 连接池最大空闲连接数 |
max_open_conns | int | 100 | 连接池最大连接数 |
conn_max_lifetime | int | 3600 | 连接最大生命周期(秒) |
Redis 配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
host | string | 127.0.0.1 | Redis 服务器地址 |
port | int | 6379 | Redis 端口 |
password | string | "" | Redis 密码,无密码留空 |
db | int | 0 | Redis 数据库编号 (0-15) |
pool_size | int | 10 | 连接池大小 |
min_idle_conn | int | 5 | 最小空闲连接数 |
Log 日志配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
level | string | info | 日志级别: debug, info, warn, error |
filename | string | logs/app.log | 日志文件路径 |
max_size | int | 100 | 单个日志文件最大大小 (MB) |
max_backups | int | 10 | 保留的历史日志文件数量 |
max_age | int | 30 | 日志文件保留天数 |
compress | bool | true | 是否压缩历史日志文件 |
console | bool | true | 是否同时输出到控制台 |
环境变量
部分配置支持通过环境变量覆盖:
| 环境变量 | 对应配置 | 说明 |
|---|---|---|
OPSHUB_DB_HOST | database.host | 数据库地址 |
OPSHUB_DB_PORT | database.port | 数据库端口 |
OPSHUB_DB_USER | database.username | 数据库用户 |
OPSHUB_DB_PASSWORD | database.password | 数据库密码 |
OPSHUB_REDIS_HOST | redis.host | Redis 地址 |
OPSHUB_JWT_SECRET | server.jwt_secret | JWT 密钥 |
生产环境建议
修改默认密钥
务必修改 jwt_secret,使用 openssl rand -base64 32 生成随机密钥
数据库安全
使用独立的数据库账号,仅授予必要权限,避免使用 root 账号
运行模式
生产环境设置 mode: release,关闭调试日志输出
日志配置
配置日志轮转,避免日志文件过大占用磁盘空间