Revel 配置文件app.conf

2022-07-28 14:13 更新

Revel 配置文件概述

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

下面是個(gè)例子:

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

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

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

自定義屬性

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

內(nèi)建屬性

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

app.name

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

例如:

app.name = Booking example application

默認(rèn)值: 無(wú)值


app.secret

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

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

例如:

app.secret = pJLzyoiDe17L36mytqC912j81PfTiolHm1veQK6Grn1En3YFdB5lvEHVTwFEaWvj

默認(rèn)值: 無(wú)值

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ì)選擇一個(gè)隨??機(jī)的空閑端口。這僅僅是必要的,由該程序限制插座訪問的環(huán)境中運(yùn)行時(shí)設(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連接。這需要一個(gè) X509 證書和一個(gè) key 文件。

默認(rèn)值: false

http.sslcert

指定 X509 證書文件的路徑

默認(rèn)值: ””

http.sslkey

指定 X509 證書 key的路徑

默認(rèn)值: ””

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

results.chunked

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

默認(rèn)值: false


results.pretty

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

results.pretty = true

默認(rèn)值: false

國(guó)際化 (i18n)

i18n.default_language

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

例如:

i18n.default_language = en

默認(rèn)值: ””


i18n.cookie

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

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

監(jiān)視

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

watch = true

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

默認(rèn)值: true


watch.templates

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

默認(rèn)值: true


watch.routes

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

默認(rèn)值: true


watch.code

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

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

默認(rèn)值: true

Cookies

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

  • REVEL_SESSION
  • REVEL_LANG
  • REVEL_FLASH
  • REVEL_ERRORS

cookie.prefix

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

例如,

cookie.prefix = MY

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

  • MY_SESSION
  • MY_LANG
  • MY_FLASH
  • MY_ERRORS

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

Session

session.expires

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

模板

template.delimiters

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

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

格式化

format.date

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

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

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


format.datetime

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

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

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

數(shù)據(jù)庫(kù)

db.import

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

默認(rèn)值: ””


db.driver

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

默認(rèn)值: ””


db.spec

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

默認(rèn)值: ””

構(gòu)建

build.tags

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

默認(rèn)值: ””

日志

TODO

緩存

cache 模塊是一個(gè)簡(jiǎn)單的堆或分布式緩存接口

cache.expires

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

它是接受一個(gè)time.ParseDuration 字符串。

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

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


cache.memcached

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

默認(rèn)值: false


cache.hosts

一個(gè)逗號(hào)分隔的 memcached 主機(jī)列表。緩存條目使用確定的主機(jī)名緩存key自動(dòng)分片到可用的主機(jī)中。主機(jī)可能會(huì)多次列出,以增加共享的緩存空間。

默認(rèn)值: ””

計(jì)劃任務(wù)

計(jì)劃任務(wù) 模塊允許你運(yùn)行計(jì)劃任務(wù)或者臨時(shí)任務(wù)

時(shí)間表

時(shí)間表可以通過key來(lái)配置。

cron.schedulename = @hourly

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

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

jobs.pool

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

jobs.pool = 4

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

默認(rèn)值: 10


jobs.selfconcurrent

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

默認(rèn)值: false

模塊

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

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

開發(fā)計(jì)劃

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)