当使用g.Server(单例名称)获取Server单例对象时,将会自动通过默认的配置管理对象获取对应的Server配置。默认情况下会读取server.单例名称配置项,当该配置项不存在时,将会读取server配置项。

支持的配置文件配置项请参考Server配置管理对象属性:

示例1,默认配置项

随后可以使用g.Server()获取默认的单例对象时自动获取并设置该配置。

示例2,多个配置项

  1. server:
  2. address: ":80"
  3. serverRoot: "/var/www/Server"
  4. server1:
  5. address: ":8080"
  6. server2:
  7. address: ":8088"

我们可以通过单例对象名称获取对应配置的Server单例对象:

示例3,较完整示例

比如上一个章节的示例,对应的配置文件如下:

  1. server:
  2. address: ":8199"
  3. serverRoot: "/var/www/Server"
  4. indexFiles: ["index.html", "main.html"]
  5. accessLogEnabled: true
  6. errorLogEnabled: true
  7. logPath: "/var/log/ServerLog"
  8. sessionIdName: "MySessionId"
  9. sessionPath: "/tmp/MySessionStoragePath"
  10. sessionMaxAge: "24h"
  11. dumpRouterMap: false

同理,配置属性项的名称也不区分大小写,单词间也支持使用-/_符号连接。也就是说以下配置文件效果和上面的配置文件一致:

上传限制

Server对于客户端提交的数据是由大小限制的,主要有两个配置参数控制:

  • :请求头大小限制,请求头包括客户端提交的Cookie数据,默认设置为10KB
  • ClientMaxBodySize:客户端提交的Body大小限制,同时也影响文件上传大小,默认设置为8MB

由于安全性的考虑,默认的上传限制都不是很高,特别是ClientMaxBodySize的大小限制,在需要文件上传的场景可适当考虑调整,通过配置文件配置即可,例如:

  1. server:
  2. maxHeaderBytes: "20KB"

这样便修改请求头大小限制为20KB,文件上传大小限制为200MB。如果不想做上传大小做任何限制,那么将clientMaxBodySize设置为0即可。

日志配置

关于其中项的详细介绍请参考 章节。