Revel 配置文件app.conf

2022-07-28 14:13 更新

Revel 配置文件概述

app.conf 是Revel程序的配置文件,它使用 goconfig 語法,類似微軟的 INI 文件。

下面是個例子:

app.name=chat
app.secret=pJLzyoiDe17L36mytqC912j81PfTiolHm1veQK6Grn1En3YFdB5lvEHVTwFEaWvj
http.addr=
http.port=9000

[dev]
results.pretty=true
watch=true

log.trace.output = off
log.info.output  = stderr
log.warn.output  = stderr
log.error.output = stderr

[prod]
results.pretty=false
watch=false

log.trace.output = off
log.info.output  = off
log.warn.output  = %(app.name)s.log
log.error.output = %(app.name)s.log

每個段是一種 運行模式。最上面的 key (不在任何段內(nèi))對所有的運行模式有效。這使得默認(rèn)值在所有模式中適用,并且根據(jù)需要被重寫。[prod] 段僅用于 生產(chǎn) 模式。

新建的Revel程序中默認(rèn)定義了 dev 和 prod 模式, 你也可以自定義你需要的段。 程序啟動時,根據(jù) (命令行工具)“revel run” 提供的參數(shù)來選擇運行模式。

自定義屬性

開發(fā)者可以自定義key,并通過 revel.Config 變量 訪問它們。這里公開了一些簡單的 api。

內(nèi)建屬性

應(yīng)用程序設(shè)置

app.name

應(yīng)用程序名稱,用于控制臺輸出和開發(fā)web頁。

例如:

app.name = Booking example application

默認(rèn)值: 無值


app.secret

密鑰用于密碼操作 (revel.Sign)。Revel 在內(nèi)部使用它簽署session cookies。設(shè)置為空將禁用簽名。

使用 revel new新建項目時,它被設(shè)置為一個隨機的字符串。

例如:

app.secret = pJLzyoiDe17L36mytqC912j81PfTiolHm1veQK6Grn1En3YFdB5lvEHVTwFEaWvj

默認(rèn)值: 無值

HTTP settings

http.port

監(jiān)聽端口

例如:

http.port = 9000

http.addr

監(jiān)聽ip地址

Linux中, 空字符串代表通配符 – Windows中, 空字符串被轉(zhuǎn)換為 "localhost"

默認(rèn)值: ””


harness.port

Specifies the port for the application to listen on, when run by the harness. For example, when the harness is running, it will listen on http.port, run the application on harness.port, and reverse-proxy requests. Without the harness, the application listens on http.port directly.

默認(rèn)情況下,會選擇一個隨??機的空閑端口。這僅僅是必要的,由該程序限制插座訪問的環(huán)境中運行時設(shè)置。By default, a random free port will be chosen. This is only necessary to set when running in an environment that restricts socket access by the program.

Default: 0


http.ssl

如果為真, Revel Web服務(wù)器將自行配置為接受SSL連接。這需要一個 X509 證書和一個 key 文件。

默認(rèn)值: false

http.sslcert

指定 X509 證書文件的路徑

默認(rèn)值: ””

http.sslkey

指定 X509 證書 key的路徑

默認(rèn)值: ””

響應(yīng)結(jié)果

results.chunked

確定模板渲染時是否使用 分塊編碼。分塊編碼可以減少發(fā)送到客戶端的第一個字節(jié)的時間(在整個模板已經(jīng)完全呈現(xiàn)數(shù)據(jù)之前)。

默認(rèn)值: false


results.pretty

配置 RenderXml 和 RenderJson 生成縮進(jìn)格式的 XML/JSON. 例如:

results.pretty = true

默認(rèn)值: false

國際化 (i18n)

i18n.default_language

為消息翻譯指定默認(rèn)??的語言,如果客戶端請求的語言環(huán)境未確認(rèn)。如果不指定,則返回一個虛擬的信息。

例如:

i18n.default_language = en

默認(rèn)值: ””


i18n.cookie

指定存儲用戶語言環(huán)境的cookie名稱

默認(rèn)值: “%(cookie.prefix)_LANG” (參考 cookie.prefix)

監(jiān)視

Revel 監(jiān)視項目改動,并支持幾種類型文件的熱重載。啟用監(jiān)視:

watch = true

如果為假, 禁用監(jiān)視, 并忽略其他相關(guān)的監(jiān)視配置 watch.* (適用于生產(chǎn)環(huán)境)

默認(rèn)值: true


watch.templates

如果為真, Revel 監(jiān)視模板變化,必要時重新加載他們。

默認(rèn)值: true


watch.routes

如果為真, Revel 監(jiān)視 routes 文件的變化,必要時重新加載。

默認(rèn)值: true


watch.code

如果為真, Revel 監(jiān)視Go代碼改動,必要時重新編譯代碼(作為反向代理運行)。

app/ 目錄(包括子目錄)下的代碼都被監(jiān)視。

默認(rèn)值: true

Cookies

Revel 組件默認(rèn)使用下面的 cookies:

  • REVEL_SESSION
  • REVEL_LANG
  • REVEL_FLASH
  • REVEL_ERRORS

cookie.prefix

Revel 使用這個屬性作為 Revel-produced cookies前綴。這樣可以在同一臺主機上運行多個REVEL應(yīng)用程序。

例如,

cookie.prefix = MY

則對應(yīng)的 cookie 名稱如下:

  • MY_SESSION
  • MY_LANG
  • MY_FLASH
  • MY_ERRORS

默認(rèn)值: “REVEL”

Session

session.expires

Revel 使用這個屬性設(shè)置session cookie的有效期。 Revel 使用 ParseDuration 解析字符串,默認(rèn)值是 30 天。也可以設(shè)置為會話結(jié)束時過期。 請注意,客戶端的行為依賴于瀏覽器的設(shè)置,所以結(jié)果并不總是保證。

模板

template.delimiters

指定模板左右分隔符
必須這樣指定分隔符 “左分隔符 右分隔符”

默認(rèn)值: “{{ }}”

格式化

format.date

指定默認(rèn)的日期格式,Revel在兩個地方使用它:

  • 綁定日期參數(shù)到 time.Time (參考 binding)
  • 在模板中使用 date 模板函數(shù)輸出日期 (參考 模板函數(shù))

默認(rèn)值: “2006-01-02”


format.datetime

指定默認(rèn)的日期時間格式,Revel在兩個地方使用它:

  • 綁定日期參數(shù)到 time.Time (參考 binding)
  • 在模板中使用 datetime 模板函數(shù)輸出日期 (參考 模板函數(shù))

默認(rèn)值: “2006-01-02 15:04”

數(shù)據(jù)庫

db.import

指定DB模塊的 database/sql 驅(qū)動程序?qū)肼窂健?/p>

默認(rèn)值: ””


db.driver

指定 database/sql 驅(qū)動程序名稱 (在sql.Open中使用).

默認(rèn)值: ””


db.spec

指定 database/sql 數(shù)據(jù)源名稱 (在 sql.Open中使用).

默認(rèn)值: ””

構(gòu)建

build.tags

Build tags 構(gòu)建程序的時候使用。

默認(rèn)值: ””

日志

TODO

緩存

cache 模塊是一個簡單的堆或分布式緩存接口

cache.expires

設(shè)置緩存過期時間。在程序中調(diào)用者使用常量cache.DEFAULT獲取。

它是接受一個time.ParseDuration 字符串。

(目前還不能指定默認(rèn)值為 FOREVER)

默認(rèn)值: “1h” (1 小時)


cache.memcached

如果為真, 緩存模塊使用 memcached 來代替內(nèi)存緩存。

默認(rèn)值: false


cache.hosts

一個逗號分隔的 memcached 主機列表。緩存條目使用確定的主機名緩存key自動分片到可用的主機中。主機可能會多次列出,以增加共享的緩存空間。

默認(rèn)值: ””

計劃任務(wù)

計劃任務(wù) 模塊允許你運行計劃任務(wù)或者臨時任務(wù)

時間表

時間表可以通過key來配置。

cron.schedulename = @hourly

時間表的計劃時間可以在執(zhí)行器中提交任務(wù)時使用。例如:

jobs.Schedule("cron.schedulename", job)

jobs.pool

允許同時允許的任務(wù)數(shù)量。例如:

jobs.pool = 4

如果為 0, 則沒有數(shù)量限制

默認(rèn)值: 10


jobs.selfconcurrent

如果為真, 允許一個任務(wù)運行,即使是該任務(wù)的實例仍在進(jìn)行中。

默認(rèn)值: false

模塊

模塊 通過指定導(dǎo)入路徑將模塊添加到應(yīng)用程序中。例如:

module.testrunner = github.com/revel/revel/modules/testrunner

開發(fā)計劃

  • 允許使用命令行參數(shù)配置值或以其他方式在命令行中指定值。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號