Skip to main content
Version: 2.4.x

配置对象

配置对象定义: https://pkg.go.dev/github.com/gogf/gf/v2/net/ghttp#ServerConfig

配置方法

方法列表: https://pkg.go.dev/github.com/gogf/gf/v2/net/ghttp#Server

简要说明:

  1. 可以通过 SetConfigSetConfigWithMap 来设置。
  2. 也可以使用 Server 对象的 Set*/Enable* 方法进行特定配置的设置。
  3. 主要注意的是,配置项在 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()