Beegoのパラメータ構成

8934 ワード

パラメータ構成
beegoは現在、INI、XML、JSON、YAML形式のプロファイル解析をサポートしているが、デフォルトではINI形式解析が採用されており、ユーザーは簡単な構成で大きな柔軟性を得ることができる.デフォルト構成の解析
beegoのデフォルトでは、現在のアプリケーションのconf/appが解析されます.confファイル.
このファイルを使用すると、beegoのデフォルトパラメータを多く初期化できます.
appname = beepkg httpaddr = “127.0.0.1” httpport = 9090 runmode =”dev” autorender = false recoverpanic = false viewspath = “myview”
上記のパラメータはbeegoのデフォルトのいくつかのパラメータを置き換えますが、beegoのパラメータは主にどれらがありますか?参考までにhttps://godoc.org/github.com/astaxie/beego#pkg-constants. BConfigはbeegoのデフォルトの構成であり、beegoを直接通過することもできます.BConfig.AppName="beepkg"のように変更すると、上記の構成効果と同様に、コードに死んだだけで、プロファイルがより柔軟になります.
以下に示すデータベース情報など、アプリケーションに必要な構成情報を構成することもできます.
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”)
AppConfigの方法は次のとおりです.
Set(key, val string) error
String(key string) string
Strings(key string) []string
Int(key string) (int, error)
Int64(key string) (int64, error)
Bool(key string) (bool, error)
Float(key string) (float64, error)
DefaultString(key string, defaultVal string) string
DefaultStrings(key string, defaultVal []string)
DefaultInt(key string, defaultVal int) int
DefaultInt64(key string, defaultVal int64) int64
DefaultBool(key string, defaultVal bool) bool
DefaultFloat(key string, defaultVal float64) float64
DIY(key string) (interface{}, error)
GetSection(section string) (map[string]string, error)
SaveConfigFile(filename string) error

iniタイプを使用するプロファイルでは、keyはsection::keyモードをサポートします.
Default*メソッドでデフォルト値を返すことができます.異なるレベルの構成
プロファイルにはsectionがサポートされています.異なるRunmodeの構成があり、デフォルトではrunmodeの下の構成情報を優先的に読み取ることができます.たとえば、次のプロファイルです.
appname = beepkg httpaddr = “127.0.0.1” httpport = 9090 runmode =”dev” autorender = false recoverpanic = false viewspath = “myview”
[dev] httpport = 8080 [prod] httpport = 8088 [test] httpport = 8888
上記のプロファイルは、異なるrunmodeで異なる構成を解析するものであり、例えばdevモードではhttpportが8080、prodモードでは8088、testモードでは8888である.その他のプロファイルは同じです.解析するときはrunmodeの下の構成を優先的に解析し、デフォルトの構成を解析します.
異なるモードで構成するパラメータを読み取る方法は、「モード::構成パラメータ名」、例えばbeegoである.AppConfig.String(“dev::mysqluser”).
カスタムパラメータにはbeegoを使用する必要があります.GetConfig(tpy,key string,defaultVal interface{})は、指定したrunmodeの下の構成(1.4.0以上のバージョンが必要)を取得します.typはパラメータタイプ、keyはパラメータ名、defaultValはデフォルト値です.複数のプロファイル
INIフォーマット構成はinclude方式をサポートし、複数のプロファイルを参照します.たとえば、次の2つのプロファイルの効果は同じです.
app.conf
appname = beepkg httpaddr = “127.0.0.1” httpport = 9090
include “app2.conf”
app2.conf
runmode =”dev” autorender = false recoverpanic = false viewspath = “myview”
[dev] httpport = 8080 [prod] httpport = 8088 [test] httpport = 8888
システムのデフォルトパラメータ
beegoには構成可能なパラメータがたくさんあります.それらを一つ一つ認識することで、次のbeego開発で彼らの役割を十分に発揮することができます(conf/app.confで対応する値を設定することで、大文字と小文字を区別しません):基礎配置
BConfig
     beego         ,     beego.BConfig               .

          ,               conf/app.conf,                   
    beego.LoadAppConfig("ini", "conf/app2.conf")
             ,           ,           key  ,            

App構成
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           、               :

        , gzipCompressLevel = 9,   1~9,      1(    )

          , gzipMinLength = 256,                  ,   20B(ngnix    )

        , includedMethods = get;post,            ,     GET    

MaxMemory

            ,     1 << 26(64M)。

beego.BConfig.MaxMemory = 1 << 26

EnableErrorsShow

          ,    true。

beego.BConfig.EnableErrorsShow = true

Web構成
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.SetStaticPath("/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

     XSRF,    false,   。

beego.BConfig.WebConfig.EnableXSRF = false

XSRFKEY

XSRF   key   ,     beegoxsrf。 EnableXSRF=true    

beego.BConfig.WebConfig.XSRFKEY = "beegoxsrf"

XSRFExpire

XSRF     ,     0,   。

beego.BConfig.WebConfig.XSRFExpire = 0

リスニング構成
Graceful

       ,   false,     。

beego.BConfig.Listen.Graceful=false

ServerTimeOut

   HTTP      ,    0,   。

beego.BConfig.Listen.ServerTimeOut=0

ListenTCP4

          ,    “tcp4”,     ”tcp”, “tcp4”, “tcp6”, “unix” or “unixpacket”  。

beego.BConfig.Listen.ListenTCP4 = "tcp4"

EnableHTTP

    HTTP  ,   true。

beego.BConfig.Listen.EnableHTTP = true

HTTPAddr

      ,    ,        IP。

beego.BConfig.Listen.HTTPAddr = ""

HTTPPort

      ,    8080。

beego.BConfig.Listen.HTTPPort = 8080

EnableHTTPS

     HTTPS,    false   。      ,    EnableHTTPS = true,   HTTPSCertFile   HTTPSKeyFile

beego.BConfig.Listen.EnableHTTPS = false

HTTPSAddr

      ,    ,        IP。

beego.BConfig.Listen.HTTPSAddr = ""

HTTPSPort

      ,    10443

beego.BConfig.Listen.HTTPSPort = 10443

HTTPSCertFile

  HTTPS ,ssl    ,    。

beego.BConfig.Listen.HTTPSCertFile = "conf/ssl.crt"

HTTPSKeyFile

   HTTPS   ,SSL  keyfile    。

beego.BConfig.Listen.HTTPSKeyFile = "conf/ssl.key"

EnableAdmin

           ,   false   。

beego.BConfig.Listen.AdminEnable = false

AdminAddr

         ,     localhost 。

beego.BConfig.Listen.AdminAddr = "localhost"

AdminPort

モニタが傍受するアドレスで、デフォルトは8088です.
beego.BConfig.Listen.AdminPort = 8088
EnableFcgi

     fastcgi ,     false。

beego.BConfig.Listen.EnableFcgi = false

EnableStdIo

  fastcgi   I/O,   fastcgi     ,   false。

beego.BConfig.Listen.EnableStdIo = false

セッション構成
SessionOn

session     ,    false。

beego.BConfig.WebConfig.Session.SessionOn = false

SessionProvider

session    ,    memory,     session   。

beego.BConfig.WebConfig.Session.SessionProvider = ""

SessionName

       cookie   ,     beegosessionID。

beego.BConfig.WebConfig.Session.SessionName = "beegosessionID"

SessionGCMaxLifetime

session     ,     3600  。

beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = 3600

SessionProviderConfig

    ,                ,              ,     session   

SessionCookieLifeTime

session          cookie    ,     3600  。

beego.BConfig.WebConfig.Session.SessionCookieLifeTime = 3600

SessionAutoSetCookie

    SetCookie,    true    。

beego.BConfig.WebConfig.Session.SessionAutoSetCookie = true

SessionDomain

session cookieはドメイン名を格納し、デフォルトは空です.
beego.BConfig.WebConfig.Session.SessionDomain="Log構成
log詳細構成については、logs を参照してください.
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": ""}

or

beego.BConfig.Log.Outputs["console"] = ""