配置对象
配置对象定义: https://pkg.go.dev/github.com/gogf/gf/v2/net/ghttp#ServerConfig
配置方法
方法列表: https://pkg.go.dev/github.com/gogf/gf/v2/net/ghttp#Server
简要说明:
- 可以通过
SetConfig
及SetConfigWithMap
来设置。 - 也可以使用
Server
对象的Set*/Enable*
方法进行特定配置的设置。 - 主要注意的是,配置项在
Server
执行Start
之后便不能再修改,防止产生并发安全问题。
SetConfigWithMap
方法
我们可以使用SetConfigWithMap
方法通过Key-Value
键值对来设置/修改Server
的特定配置,其余的配置使用默认配置即可。其中Key
的名称即是ServerConfig
这个struct
中的属性名称,并且不区分大小写,单词间也支持使用-
/_
/空格
符号连接,具体可参考 类型转换-Struct转换 章节。
简单示例:
s := g.Server()
s.SetConfigWithMap(g.Map{
"Address": ":80",
"ServerRoot": "/var/www/MyServerRoot",
})
s.Run()
其中ServerRoot
的键名也可以使用serverRoot
, server-root
, server_root
, server root
,其他配置属性以此类推。
一个比较完整的示例:
s := g.Server()
s.SetConfigWithMap(g.Map{
"address": ":80",
"serverRoot": "/var/www/Server",
"indexFiles": g.Slice{"index.html", "main.html"},
"accessLogEnabled": true,
"errorLogEnabled": true,
"pprofEnabled": true,
"logPath": "/var/log/ServerLog",
"sessionIdName": "MySessionId",
"sessionPath": "/tmp/MySessionStoragePath",
"sessionMaxAge": 24 * time.Hour,
"dumpRouterMap": false,
})
s.Run()