go-xserver 中框架层配置可以表现为下面的形式:
-
配置结构体
-
配置文件
-
可提供工具,根据 framework.go 自动生成 framework.toml 模板文件(优先级低)
-
命令行参数
- 自动生成
-
环境变量
- 自动生成
以上均存在一一对应关系
-
配置文件中可以删除字段(即不配置某字段),而使用缺省值
-
可以在
配置结构体
的 Tag 中,填写 default ,定义缺省值
优先级从高到低如下:
命令行参数 > 环境变量 > 配置文件 > 缺省值
高优先级值覆盖低优先级的值
命令行参数、环境变量自动生成,以下命令查看:
go-xserver -h
目前有:
Usage:
go-xserver [flags]
Flags:
-a, --app string 应用名(插件,必填)
--common-debug Debug 版本标志 (default true)
--common-intranettoken string 内部服务器验证 TOKEN (default "6d8f1f3a-739f-47fe-9ed1-ea39276cd10d")
--common-logdir string Log 路径 (default "./logs")
--common-logflushinterval int Log 写入到文件的时间间隔,单位:毫秒 (default 1000)
--common-loglevel int Log 等级, 1 infoLog; 2 warningLog; 3 errorLog; 4 fatalLog (default 1)
--common-msgcmdoffset int 消息号 = 服务类型 * MsgCmdOffset + 数字 (default 1000)
--common-pprof string Http pprof 地址
--common-version string 版本号 (default "0.0.1")
-c, --config string 配置目录路径 (default "../config")
--dbaccount-addrs strings Redis 数据库地址 (default [127.0.0.1:6379])
--dbaccount-dbindex int Redis DB 索引 (default 1)
--dbaccount-name string Redis 数据库名称
--dbaccount-password string Redis 数据库密码 (default "123456")
--dbmgr-addrs strings Redis 数据库地址 (default [127.0.0.1:6379])
--dbmgr-dbindex int Redis DB 索引 (default 1)
--dbmgr-name string Redis 数据库名称
--dbmgr-password string Redis 数据库密码 (default "123456")
--dbrolename-addrs strings Redis 数据库地址 (default [127.0.0.1:6379])
--dbrolename-dbindex int Redis DB 索引 (default 1)
--dbrolename-name string Redis 数据库名称
--dbrolename-password string Redis 数据库密码 (default "123456")
--dbserver-addrs strings Redis 数据库地址 (default [127.0.0.1:6379])
--dbserver-dbindex int Redis DB 索引 (default 1)
--dbserver-name string Redis 数据库名称
--dbserver-password string Redis 数据库密码 (default "123456")
--dbtoken-addrs strings Redis 数据库地址 (default [127.0.0.1:6379])
--dbtoken-dbindex int Redis DB 索引 (default 1)
--dbtoken-name string Redis 数据库名称
--dbtoken-password string Redis 数据库密码 (default "123456")
-h, --help help for go-xserver
--network-ipinner string 内网 IP (default "127.0.0.1")
--network-ipouter string 外网 IP (default "127.0.0.1")
--network-iptype int 类型: 1 表示使用 IP;类型: 0 表示使用网卡名 (default 1)
--network-port strings 第一个端口为对外提供服务的端口;第二个端口为服务器组内提供服务的端口;若有其他继续填充,自定义 (default [7500,30000])
--role-idletime int 角色闲置该时间间隔后账号、角色对象内存中清除。单位:秒 (default 300)
--role-sessionaffinityinterval int 账号登出后,分配的服务器资源信息保留时间。单位:秒 (default 300)
-s, --suffix string Log 文件名后缀,多开时可以通过它,避免多个进程共用 1 个 Log 文件
Environment variables:
GOXSERVER_APP
GOXSERVER_COMMON_DEBUG
GOXSERVER_COMMON_INTRANETTOKEN
GOXSERVER_COMMON_LOGDIR
GOXSERVER_COMMON_LOGFLUSHINTERVAL
GOXSERVER_COMMON_LOGLEVEL
GOXSERVER_COMMON_MSGCMDOFFSET
GOXSERVER_COMMON_PPROF
GOXSERVER_COMMON_VERSION
GOXSERVER_CONFIG
GOXSERVER_DBACCOUNT_ADDRS
GOXSERVER_DBACCOUNT_DBINDEX
GOXSERVER_DBACCOUNT_NAME
GOXSERVER_DBACCOUNT_PASSWORD
GOXSERVER_DBMGR_ADDRS
GOXSERVER_DBMGR_DBINDEX
GOXSERVER_DBMGR_NAME
GOXSERVER_DBMGR_PASSWORD
GOXSERVER_DBROLENAME_ADDRS
GOXSERVER_DBROLENAME_DBINDEX
GOXSERVER_DBROLENAME_NAME
GOXSERVER_DBROLENAME_PASSWORD
GOXSERVER_DBSERVER_ADDRS
GOXSERVER_DBSERVER_DBINDEX
GOXSERVER_DBSERVER_NAME
GOXSERVER_DBSERVER_PASSWORD
GOXSERVER_DBTOKEN_ADDRS
GOXSERVER_DBTOKEN_DBINDEX
GOXSERVER_DBTOKEN_NAME
GOXSERVER_DBTOKEN_PASSWORD
GOXSERVER_NETWORK_IPINNER
GOXSERVER_NETWORK_IPOUTER
GOXSERVER_NETWORK_IPTYPE
GOXSERVER_NETWORK_PORT
GOXSERVER_ROLE_IDLETIME
GOXSERVER_ROLE_SESSIONAFFINITYINTERVAL
GOXSERVER_SUFFIX