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。
應(yīng)用程序名稱,用于控制臺輸出和開發(fā)web頁。
例如:
app.name = Booking example application
默認(rèn)值: 無值
密鑰用于密碼操作 (revel.Sign
)。Revel 在內(nèi)部使用它簽署session cookies。設(shè)置為空將禁用簽名。
使用 revel new
新建項目時,它被設(shè)置為一個隨機的字符串。
例如:
app.secret = pJLzyoiDe17L36mytqC912j81PfTiolHm1veQK6Grn1En3YFdB5lvEHVTwFEaWvj
默認(rèn)值: 無值
監(jiān)聽端口
例如:
http.port = 9000
監(jiān)聽ip地址
Linux中, 空字符串代表通配符 – Windows中, 空字符串被轉(zhuǎn)換為 "localhost"
默認(rèn)值: ””
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
如果為真, Revel Web服務(wù)器將自行配置為接受SSL連接。這需要一個 X509 證書和一個 key 文件。
默認(rèn)值: false
指定 X509 證書文件的路徑
默認(rèn)值: ””
指定 X509 證書 key的路徑
默認(rèn)值: ””
確定模板渲染時是否使用 分塊編碼。分塊編碼可以減少發(fā)送到客戶端的第一個字節(jié)的時間(在整個模板已經(jīng)完全呈現(xiàn)數(shù)據(jù)之前)。
默認(rèn)值: false
配置 RenderXml
和 RenderJson
生成縮進(jìn)格式的 XML/JSON. 例如:
results.pretty = true
默認(rèn)值: false
為消息翻譯指定默認(rèn)??的語言,如果客戶端請求的語言環(huán)境未確認(rèn)。如果不指定,則返回一個虛擬的信息。
例如:
i18n.default_language = en
默認(rèn)值: ””
指定存儲用戶語言環(huán)境的cookie名稱
默認(rèn)值: “%(cookie.prefix)_LANG” (參考 cookie.prefix)
Revel 監(jiān)視項目改動,并支持幾種類型文件的熱重載。啟用監(jiān)視:
watch = true
如果為假, 禁用監(jiān)視, 并忽略其他相關(guān)的監(jiān)視配置 watch.*
(適用于生產(chǎn)環(huán)境)
默認(rèn)值: true
如果為真, Revel 監(jiān)視模板變化,必要時重新加載他們。
默認(rèn)值: true
如果為真, Revel 監(jiān)視 routes
文件的變化,必要時重新加載。
默認(rèn)值: true
如果為真, Revel 監(jiān)視Go代碼改動,必要時重新編譯代碼(作為反向代理運行)。
app/
目錄(包括子目錄)下的代碼都被監(jiān)視。
默認(rèn)值: true
Revel 組件默認(rèn)使用下面的 cookies:
Revel 使用這個屬性作為 Revel-produced cookies前綴。這樣可以在同一臺主機上運行多個REVEL應(yīng)用程序。
例如,
cookie.prefix = MY
則對應(yīng)的 cookie 名稱如下:
默認(rèn)值: “REVEL”
Revel 使用這個屬性設(shè)置session cookie的有效期。 Revel 使用 ParseDuration 解析字符串,默認(rèn)值是 30 天。也可以設(shè)置為會話結(jié)束時過期。 請注意,客戶端的行為依賴于瀏覽器的設(shè)置,所以結(jié)果并不總是保證。
指定模板左右分隔符
必須這樣指定分隔符 “左分隔符 右分隔符”
默認(rèn)值: “{{ }}”
指定默認(rèn)的日期格式,Revel在兩個地方使用它:
默認(rèn)值: “2006-01-02”
指定默認(rèn)的日期時間格式,Revel在兩個地方使用它:
默認(rèn)值: “2006-01-02 15:04”
指定DB模塊的 database/sql 驅(qū)動程序?qū)肼窂健?/p>
默認(rèn)值: ””
指定 database/sql 驅(qū)動程序名稱 (在sql.Open
中使用).
默認(rèn)值: ””
指定 database/sql 數(shù)據(jù)源名稱 (在 sql.Open
中使用).
默認(rèn)值: ””
Build tags 構(gòu)建程序的時候使用。
默認(rèn)值: ””
TODO
cache 模塊是一個簡單的堆或分布式緩存接口
設(shè)置緩存過期時間。在程序中調(diào)用者使用常量cache.DEFAULT
獲取。
它是接受一個time.ParseDuration
字符串。
(目前還不能指定默認(rèn)值為 FOREVER
)
默認(rèn)值: “1h” (1 小時)
如果為真, 緩存模塊使用 memcached 來代替內(nèi)存緩存。
默認(rèn)值: false
一個逗號分隔的 memcached 主機列表。緩存條目使用確定的主機名緩存key自動分片到可用的主機中。主機可能會多次列出,以增加共享的緩存空間。
默認(rèn)值: ””
計劃任務(wù) 模塊允許你運行計劃任務(wù)或者臨時任務(wù)
時間表可以通過key來配置。
cron.schedulename = @hourly
時間表的計劃時間可以在執(zhí)行器中提交任務(wù)時使用。例如:
jobs.Schedule("cron.schedulename", job)
允許同時允許的任務(wù)數(shù)量。例如:
jobs.pool = 4
如果為 0, 則沒有數(shù)量限制
默認(rèn)值: 10
如果為真, 允許一個任務(wù)運行,即使是該任務(wù)的實例仍在進(jìn)行中。
默認(rèn)值: false
模塊 通過指定導(dǎo)入路徑將模塊添加到應(yīng)用程序中。例如:
module.testrunner = github.com/revel/revel/modules/testrunner
更多建議: