配置对象

配置对象定义: 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转换 章节。

简单示例:

  1. s := g.Server()
  2. s.SetConfigWithMap(g.Map{
  3. "Address": ":80",
  4. "ServerRoot": "/var/www/MyServerRoot",
  5. })
  6. s.Run()

其中ServerRoot的键名也可以使用serverRoot, server-root, server_root, server root,其他配置属性以此类推。

一个比较完整的示例:

  1. s := g.Server()
  2. s.SetConfigWithMap(g.Map{
  3. "address": ":80",
  4. "serverRoot": "/var/www/Server",
  5. "indexFiles": g.Slice{"index.html", "main.html"},
  6. "accessLogEnabled": true,
  7. "errorLogEnabled": true,
  8. "pprofEnabled": true,
  9. "logPath": "/var/log/ServerLog",
  10. "sessionIdName": "MySessionId",
  11. "sessionPath": "/tmp/MySessionStoragePath",
  12. "sessionMaxAge": 24 * time.Hour,
  13. "dumpRouterMap": false,
  14. })
  15. s.Run()