beego配置文件

图片 1

安插文件内的key不区分轻重缓急写

beego 目前支撑 INI、XML、JSON、YAML 格式的配备文件深入分析,不过私下认可使用了
INI 格式分析,顾客能够经过轻巧的布局就足以收获极大的灵活性。

关于App配置:

#App配置 for Api
AppName = ApiService
RunMode = dev
RouterCaseSensitive = true
ServerName = ApiService
RecoverPanic = true
CopyRequestBody = true
EnableGzip = false
MaxMemory = 1 << 26
EnableErrorsShow = true
EnableErrorsRender = false
  • AppName 应用名称,通过bee new创办的项目名
    AppName = beego
    beego.BConfig.AppName = "beego"

  • RunMode
    可选proddevtest。默认dev为开垦情势有日记打字与印刷,prod会停业日志的打字与印刷,test测量检验形式还没用过
    RunMode = dev
    beego.BConfig.RunMode = "dev"

  • RouterCaseSensitive
    路由忽略大小写相配,默感到true,意思是没有要求着意安插
    RouterCaseSensitive = true
    beego.BConfig.RouterCaseSensitive = true

  • ServerName beego 服务器私下认可在伸手的时候输出 server 为 beego
    ServerName = beego
    beego.BConfig.ServerName = "beego"

  • RecoverPanic 是否丰富复苏,暗许值为
    true,即当使用出现相当的气象,通过 recover
    复苏回来,而不会招致应用极度退出。意思是不需求着意安排
    RecoverPanic = true
    beego.BConfig.RecoverPanic = true

  • CopyRequestBody 是或不是允许在 HTTP
    乞求时,重回原始诉求体数据字节,默感到 true (GET or HEAD or
    上传文件伏乞除此之外)。
    CopyRequestBody = true
    beego.BConfig.CopyRequestBody = true

  • EnableGzip 是或不是开启 gzip 帮忙,默感觉 false 不帮衬gzip,一旦开启了 gzip,那么在模板输出的内容会展开 gzip 大概 zlib
    压缩,依照客商的 Accept-Encoding
    来决断。web项目相应设置为true,通过流量的收缩加快网址开启速度,以及在个其余带宽规范下,帮衬更多个人的会见
    EnableGzip = false
    beego.BConfig.EnableGzip = false
    Gzip允许客商自定义压缩等第、压缩长度阈值和针对乞求类型压缩:

    • 减掉品级, gzipCompressLevel = 9,取值为 1~9,默感觉 1(最快压缩)
    • 减掉长度阈值,
      gzipMinLength = 256,当原始内容长度抢先此阈值时才打开压缩,暗许为20B(ngnix暗中认可长度)
    • 呼吁类型,
      includedMethods = get;post,针对怎么样诉求类型进行削减,暗许只针对
      GET 央浼压缩
  • MaxMemory 文件上传暗许内存缓存大小,暗中认可值是 1 <<
    26(64M)。
    MaxMemory = 1 << 26
    beego.BConfig.MaxMemory = 1 << 26

  • EnableErrorsShow 是或不是出示系统错误消息,默以为 true。
    EnableErrorsShow = true
    beego.BConfig.EnableErrorsShow = true

  • EnableErrorsRender 是或不是将错误音讯进行渲染,私下认可值为
    true,即出错会提示友好的失误页面,对于 API
    类型的使用或者供给将该选用设置为 false 以堵住在 dev
    形式下不需要的沙盘渲染音信再次来到。
    EnableErrorsRender = true
    beego.BConfig.EnableErrorsRender = true

暗中同意配置深入分析

由此那些文件你能够开头化比相当多 beego 的默许参数:

appname = beepkghttpaddr = "127.0.0.1"httpport = 9090runmode ="dev"autorender = falserecoverpanic = falseviewspath = "myview"

此间的布署是经过beego.BConfig生效的,所以,你能够向来将配置写入到beego.BConfig

你也可以在布局文件中安插利用须求用的片段安插音信,例如上面所示的数据库音讯:

mysqluser = “root”mysqlpass = “rootpass”mysqlurls = “127.0.0.1”mysqldb =
“beego”那么您就足以经过如下的章程获得设置的布置新闻:

beego.AppConfig.String(“mysqluser”)beego.AppConfig.String(“mysqlpass”)beego.AppConfig.String(“mysqlurls”)beego.AppConfig.String(“mysqldb”)

关于Web配置:

#Web配置 for Api
AutoRender = false
EnableDocs = true
FlashName = API_FLASH
FlashSeperator = APIFLASH
#==配合swagger使用start==
DirectoryIndex = true
StaticDir = swagger
#==配合swagger使用end==
StaticExtensionsToGzip = .css, .js
TemplateLeft = {{
TemplateRight = }}
ViewsPath = views
EnableXSRF = false
XSRFKEY = beegoxsrf
XSRFExpire = 0
  • AutoRender 是不是模板自动渲染,暗许值为 true,对于 API
    类型的行使,应用要求把该选择设置为 false,无需渲染模板。
    AutoRender = true
    beego.BConfig.WebConfig.AutoRender = true
  • EnableDocs 是还是不是开启文书档案内置作用,暗许是
    false,API同盟swagger时,设置为true。
    EnableDocs = false
    beego.BConfig.WebConfig.EnableDocs = false
  • FlashName Flash 数据设置时 Cookie 的称号,暗中同意是 BEEGO_FLASH
    FlashName = BEEGO_FLASH
    beego.BConfig.WebConfig.FlashName = "BEEGO_FLASH"
  • FlashSeperator Flash 数据的分隔符,私下认可是
    BEEGOFLASH,==还没学会怎么用的==
    FlashSeperator = BEEGOFLASH
    beego.BConfig.WebConfig.FlashSeperator = "BEEGOFLASH"
  • DirectoryIndex 是还是不是展开静态目录的列表显示,暗中同意不展现目录,返回403 错误。协作swagger必要设置为true。
    DirectoryIndex = false
    beego.BConfig.WebConfig.DirectoryIndex = false
  • StaticDir
    静态文件目录设置,暗许是static。可安插单个或八个目录:
    StaticDir = swagger
    beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"

    • 单个目录, StaticDir = download. 相当于beego.SetStaticPath(“/download”,”download”)
    • 多少个目录, StaticDir = download:down download2:down2. 相当于beego.SetStaticPath(“/download”,”down”) 和
      beego.SetStaticPath(“/download2″,”down2”)
  • StaticExtensionsToGzip 允许哪些后缀名的静态文件进行 gzip
    压缩,默许扶助 .css 和 .js
    StaticExtensionsToGzip = .css, .js
    beego.BConfig.WebConfig.StaticExtensionsToGzip = []string{".css", ".js"}
  • TemplateLeft 模板左标签,私下认可值是{{。
    TemplateLeft = {{
    beego.BConfig.WebConfig.TemplateLeft="{{"
  • TemplateRight 模板右标签,默许值是}}。
    TemplateRight = }}
    beego.BConfig.WebConfig.TemplateRight = "}}"
  • ViewsPath 模板路线,私下认可值是 views。
    ViewsPath = views
    beego.BConfig.WebConfig.ViewsPath = "views"
  • EnableXSRF 是还是不是展开 XSHavalF,默感觉 false,不张开。XSCR-VF全称是
    cross-site request
    forgery(跨站点央浼伪造),也称为CS福特ExplorerF,是一种广泛的web攻击格局。
    EnableXSRF = false
    beego.BConfig.WebConfig.EnableXSRF = false
    beego怎么做到XSKugaF防护
  • XSRFKEY XS君越F 的 key 音信,暗中同意值是 beegoxsrf。 EnableXSSportageF=true
    才有效
    XSRFKEY = beegoxsrf
    beego.BConfig.WebConfig.XSRFKEY = "beegoxsrf"
  • XSRFExpire XSPRADOF 过期时间,暗中同意值是 0,不超时。
    XSRFExpire = 0
    beego.BConfig.WebConfig.XSRFExpire = 0

不品级其余布置

传闻区别的运行情况,区别的配备,如开垦条件,正式生产线上,配置分化。

在安顿文件之中匡助 section,能够有不一样的 Runmode 的布局,默许优先读取
runmode 下的布置音讯,比方下边包车型大巴配置文件:

appname = youdihttpaddr = "localhost"httpport = 8080runmode ="dev"autorender = falserecoverpanic = falseviewspath = "myview"[dev]httpport = 8080[prod]httpport = 80[test]httpport = 8888

地点的布署文件正是在差别的 runmode 下解析差别的布局,举个例子在 dev
情势下,httpport 是 8080,在 prod 格局下是 80,在 test 形式下是
8888。其他陈设文件同理。深入分析的时候优先深入分析 runmode
下的布署,然后解析默许的安插。

读取差别方式下计划参数的办法是“格局::配置参数名”,比如:beego.AppConfig.String(“dev::mysqluser”)。

对于自定义的参数,需采用 beego.GetConfig(tpy, key string, defaultVal
interface{}) 来获取钦命 runmode 下的布局(需 1.4.0 以上版本),typ
为参数类型,key 为参数名, defaultVal 为暗中同意值。

关于listener配置:

#listener配置
Graceful = false
ServerTimeOut = 30
ListenTCP4 = tcp4
EnableHTTP = true
HTTPAddr =
HTTPPort = 8080
EnableHTTPS = false
HTTPSAddr =
HTTPSPort = 10443
HTTPSCertFile = conf/ssl.crt
HTTPSKeyFile= conf/ssl.key
EnableAdmin = true
AdminAddr = localhost
AdminPort = 8088
EnableFcgi = false
EnableStdIo = false
  • Graceful 是还是不是开启热晋级,暗中同意是 false,关闭热晋级。
    Graceful = false
    beego.BConfig.Listen.Graceful = false
  • ServerTimeOut 设置 HTTP 的逾期时间,暗中认可是 0,可是期。
    ServerTimeOut = 0
    beego.BConfig.Listen.ServerTimeOut = 0
  • ListenTCP4 监听本地网络地址类型,暗中认可为 “tcp4”,该值能够是
    “tcp”, “tcp4”, “tcp6”, “unix” or “unixpacket” 之一。
    ListenTCP4 = tcp4
    beego.BConfig.Listen.ListenTCP4 = "tcp4"
  • EnableHTTP 是不是启用 HTTP 监听,暗许是 true。
    EnableHTTP = true
    beego.BConfig.Listen.EnableHTTP = true
  • HTTPAddr 应用监听地址,默以为空,监听全部的网卡 IP。
    HTTPAddr =
    beego.BConfig.Listen.HTTPAddr = ""
  • HTTPPort 应用监听端口,默以为 8080。
    HTTPPort = 8080
    beego.BConfig.Listen.HTTPPort = 8080
  • EnableHTTPS 是不是启用 HTTPS,私下认可是 false
    关闭。当要求启用时,先安装 EnableHTTPS = true,并设置 HTTPSCertFile
    和 HTTPSKeyFile
    EnableHTTPS = false
    beego.BConfig.Listen.EnableHTTPS = false
  • HTTPSAddr 应用监听地址,暗许为空,监听全数的网卡 IP。
    HTTPSAddr =
    beego.BConfig.Listen.HTTPSAddr = ""
  • HTTPSPort 应用监听端口,默以为 10443
    HTTPSPort = 10443
    beego.BConfig.Listen.HTTPSPort = 10443
  • HTTPSCertFile 开启 HTTPS 后,ssl 证书路线,默以为空。
    HTTPSCertFile = conf/ssl.crt
    beego.BConfig.Listen.HTTPSCertFile = "conf/ssl.crt"
  • HTTPSKeyFile 开启 HTTPS 之后,SSL 证书 keyfile 的路径。
    HTTPSKeyFile= conf/ssl.key
    beego.BConfig.Listen.HTTPSKeyFile= "conf/ssl.key"
  • EnableAdmin 是还是不是开启进度内监察和控制模块,默许 false 关闭。
    EnableAdmin = false
    beego.BConfig.Listen.EnableAdmin = false
  • AdminAddr 监察和控制程序监听的地点,私下认可值是 localhost 。
    AdminAddr = localhost
    beego.BConfig.Listen.AdminAddr = "localhost"
  • AdminPort 监察和控制程序监听的地址,私下认可值是 8088 。
    AdminPort = 8088
    beego.BConfig.Listen.AdminPort = 8088
  • EnableFcgi 是还是不是启用 fastcgi , 暗中认可是 false。
    EnableFcgi = false
    beego.BConfig.Listen.EnableFcgi = false
    什么是fastcgi?
  • EnableStdIo 通过fastcgi 标准I/O,启用 fastcgi 后才生效,私下认可false。
    EnableStdIo = false
    beego.BConfig.Listen.EnableStdIo = false

多少个布局文件

INI 格式配置辅助 include
格局,援引四个布局文件,比方上边包车型地铁多少个布局文件效果同上:

app.conf

appname = beepkghttpaddr = "127.0.0.1"httpport = 9090include "app2.conf"

app2.conf

runmode ="dev"autorender = falserecoverpanic = falseviewspath = "myview"[dev]httpport = 8080[prod]httpport = 8088[test]httpport = 8888

关于Session配置:

#Session配置
SessionOn = false
SessionProvider =
SessionName = beegosessionID
SessionGCMaxLifetime = 3600
SessionCookieLifeTime = 3600
SessionAutoSetCookie = true
SessionDomain =
  • SessionOn session 是或不是开启,暗中认可是 false。
    SessionOn = false
    beego.BConfig.WebConfig.Session.SessionOn = false
  • SessionProvider session 的引擎,默认是 memory
    SessionProvider =
    beego.BConfig.WebConfig.Session.SessionProvider = ""
  • SessionName 存在顾客端的 cookie 名称,默许值是
    beegosessionID。
    SessionName = beegosessionID
    beego.BConfig.WebConfig.Session.SessionName = "beegosessionID"
  • SessionGCMaxLifetime session 过期时间,私下认可值是 3600 秒。
    SessionGCMaxLifetime = 3600
    beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = 3600
  • SessionProviderConfig 配置音信,根据区别的电动机设置差异的配置音信
  • SessionCookieLifeTime session 暗中同意存在顾客端的 cookie
    的年月,暗许值是 3600 秒。
    SessionCookieLifeTime = 3600
    beego.BConfig.WebConfig.Session.SessionCookieLifeTime = 3600
  • SessionAutoSetCookie 是不是打开SetCookie, 默许值 true 开启。
    SessionAutoSetCookie = true
    beego.BConfig.WebConfig.Session.SessionAutoSetCookie = true
  • SessionDomain session cookie 存储域名, 暗许空。
    SessionDomain =
    beego.BConfig.WebConfig.Session.SessionDomain = ""

支撑境遇变量配置

行使景况变量,是特别灵活的一种艺术,修改配置方便快速,对于跨平台适应性也很好。安全性也非常高。值得注意是,机重视启后,注意变量生效难点。配置文件深入分析帮忙从境况变量中获得配置项,配置项格式:${情况变量}。比如上边包车型地铁安排中先行利用景况变量中布局的
runmode 和 httpport,借使有配备情形变量 ProRunMode
则优用该遭逢变量值。假使空中楼阁只怕为空,则使用 “dev” 作为 runmode。

app.conf

runmode = "${ProRunMode||dev}"httpport = "${ProPort||9090}"

系统暗中同意参数

beego
中包蕴比比较多可配置的参数,大家来每家每户认知一下它们,这样有助于我们在接下去的
beego 开拓中能够尽量的表述她们的成效(你能够透过在 conf/app.conf
中安装相应的值,不区分轻重缓急写):

关于Log配置:

  • AccessLogs 是还是不是输出日志到 Log,暗中认可在 prod
    方式下不会输出日志,默认为 false
    不出口日志。此参数不支持配置文件配置。
    beego.BConfig.Log.AccessLogs = false
  • FileLineNum 是不是在日记里面展现文件名和输出日志行号,暗中同意true。此参数不援助配置文件配置。
    beego.BConfig.Log.FileLineNum = true
  • Outputs 日志输出配置,仿照效法 logs 模块,console file
    等配备,此参数不帮助配置文件配置。
    beego.BConfig.Log.Outputs = map[string]string{"console": ""}
    beego.BConfig.Log.Outputs["console"] = ""

基本功配置

  • BConfig保存了具有 beego 里面的系统暗中同意参数,你可以经过 beego.BConfig
    来访谈和修改底下的具有配置音信.

配置文件路线,私下认可是应用程序对应的目录下的
conf/app.conf,客商能够在程序代码中加载本身的计划文件beego.LoadAppConfig(“ini”,
“conf/app2.conf”)也足以加载多少个公文,只要您调用数次就足以了,假设后边的文本和后边的
key 争执,那么以新颖加载的为新型值

下边给部分实际参数配置

AppName

利用名称,暗中同意是 beego。通过 bee new 创建的是创建的品种名。

beego.BConfig.AppName = "beego"
RunMode

利用的运作格局,可选值为 prod, dev 恐怕 test. 默许是 dev,
为支付格局,在支付情势下出错会提示友好的失误页面,如前方错误描述中所述。

beego.BConfig.RunMode = "dev"
RouterCaseSensitive

是还是不是路由忽略大小写匹配,私下认可是 true,区分轻重缓急写

beego.BConfig.RouterCaseSensitive = true
ServerName

beego 服务器暗中同意在伸手的时候输出 server 为 beego。

beego.BConfig.ServerName = "beego"
RecoverPanic

是还是不是丰硕苏醒,私下认可值为 true,即当使用出现至极的情景,通过 recover
恢复生机回来,而不会造成应用极度退出。

beego.BConfig.RecoverPanic = true
CopyRequestBody

是或不是同目的在于 HTTP 央浼时,再次来到原始央浼体数据字节,默以为 true (GET or
HEAD or 上传文件伏乞除此之外)。

beego.BConfig.CopyRequestBody = false
EnableGzip

是否张开 gzip 扶助,默感到 false 不帮忙 gzip,一旦张开了
gzip,那么在模板输出的剧情会进展 gzip 可能 zlib 压缩,依照客户的
Accept-Encoding 来剖断。

beego.BConfig.EnableGzip = false

Gzip允许顾客自定义压缩等第、压缩长度阈值和针对性须求类型压缩:

  1. 减掉等第, gzipCompressLevel = 9,取值为 1~9,如若不设置为 1
  2. 裁减长度阈值, gzipMinLength =
    256,当原始内容长度超过此阈值时才打开压缩,默以为 20B(ngnix暗中认可长度)
  3. 伸手类型, includedMethods =
    get;post,针对如何诉求类型举办削减,暗许只针对 GET 诉求压缩
MaxMemory

文件上传暗中认可内存缓存大小,暗中认可值是 1 << 26。

beego.BConfig.MaxMemory = 1 << 26
EnableErrorsShow

是还是不是出示系统错误新闻,默感到 true。

beego.BConfig.EnableErrorsShow = true
EnableErrorsRender

是否将错误音信实行渲染,暗许值为 true,即出错会提醒友好的失误页面,对于
API 类型的应用或者必要将该选择设置为 false 以阻滞在 dev
方式下不须要的模版渲染信息重回。

AutoRender

是还是不是模板自动渲染,默许值为 true,对于 API
类型的施用,应用须要把该选择设置为 false,不供给渲染模板。

beego.BConfig.WebConfig.AutoRender = true
EnableDocs

是还是不是张开文书档案内置作用,私下认可是 false

beego.BConfig.WebConfig.EnableDocs = true
FlashName

Flash 数据设置时 Cookie 的称号,暗许是 BEEGO_FLASH

beego.BConfig.WebConfig.FlashName = "BEEGO_FLASH"
FlashSeperator

Flash 数据的分隔符,私下认可是 BEEGOFLASH

beego.BConfig.WebConfig.FlashSeperator = "BEEGOFLASH"
DirectoryIndex

是或不是打开静态目录的列表显示,默许不显示目录,重返 403 错误。

beego.BConfig.WebConfig.DirectoryIndex = false
StaticDir

静态文件目录设置,默许是static

可布置单个或四个目录:单个目录, StaticDir = download. 相当于beego.SetStatic帕特h(“/download”,”download”)三个目录, StaticDir =
download:down download2:down2. 约等于beego.SetStaticPath(“/download”,”down”) 和

beego.SetStaticPath("/download2","down2")beego.BConfig.WebConfig.StaticDir
StaticExtensionsToGzip

同意哪些后缀名的静态文件进行 gzip 压缩,私下认可帮助 .css 和 .js

beego.BConfig.WebConfig.StaticExtensionsToGzip = []string{".css", ".js"}

等价 config 文件中

StaticExtensionsToGzip = .css, .js
TemplateLeft

模板左标签,暗中同意值是{{。

beego.BConfig.WebConfig.TemplateLeft=”{{“

TemplateRight

模板右标签,暗中同意值是}}。

beego.BConfig.WebConfig.TemplateRight="}}"
ViewsPath

模板路线,默许值是 views。

beego.BConfig.WebConfig.ViewsPath="views"
EnableXSRF

是或不是开启 XS昂CoraF,默以为 false,不张开。

beego.BConfig.WebConfig.EnableXSRF = false

发表评论

电子邮件地址不会被公开。 必填项已用*标注