[翻譯]Play框架1.2.7版本教程(11) - 部署應用

部署應用

現在咱們已經完成了博客引擎了。讓咱們來看一下一些部署Play應用的步驟。mysql

定義一個框架ID

通常,你須要部署你的應用到一臺跟開發時不同的電腦。這臺電腦(頗有多是臺服務器)上面的Play安裝包不會是同樣的。sql

Play容許你給每一個框架安裝包指定不一樣的ID,來用同一個application.conf管理不一樣的配置。讓咱們假設應用將部署在server01上。數據庫

一旦框架已經安裝在服務器上,用play id來定義一個框架ID:安全

$ play id

並設置id爲server01。如今咱們能夠在yabe的配置中定義只在服務器運行時起效的值。服務器

在PROD模式下設置應用

咱們首先給部署版本定義application.mode變量。目前,咱們一直使用DEV來實現熱重載,即時從新編譯Java文件,顯示錯誤信息。在PROD模式中,Play會在啓動時編譯全部的Java代碼和模板,並且不會檢查是否有改變。app

yabe/conf/application.conf定義:框架

%server01.application.mode=PROD

如今當你在服務器運行yabe,它就會自動在PROD下啓動。.net

配置MYySQL數據庫

在生產環境中,咱們將使用MySQL而不是一直在用的H2數據庫。Play提供了MySQL配套的JDBC驅動,因此咱們不須要下載別的。代理

編輯yabe/conf/application.conf中的數據庫配置:code

%server01.db=mysql:root:secret@yabe

咱們如今調整一下Hibernate管理數據庫模式的方式。若是Java模型變更時,Hibernate可以自動更新數據庫模式,那是再好不過的。

修改jpa.ddl配置鍵:

%server01.db=mysql:root:secret@yabe

不過這麼作恐怕會致使不可預料的後果,畢竟,在運行時吧數據庫的安全交給未知的事物,這不是個好主意。若是你不但願Hibernate自動更新數據庫,修改jpa.ddl配置鍵爲validate

%server01.jpa.ddl=validate

配置HTTP服務器

目前咱們僅僅是把80端口做爲內置HTTP服務器的默認端口。可是這樣作一臺服務器上只能運行一個Play應用。若是咱們須要在一臺服務器上運行不一樣的應用(不過使用的是不一樣的IP地址),咱們須要使用一個HTTP服務器做爲反向代理。

你能夠選擇喜歡的HTTP服務器並配置其做爲反向代理。這裏咱們選擇輕量級的lighttpd做爲例子。

對lighttpd的詳細配置已經超出了本教程的範圍,但大致上看上去像這樣:

server.modules = (
      "mod_access",
      "mod_proxy",
      "mod_accesslog" 
)
…
$HTTP["host"] =~ "www.yabe.com" {
    proxy.balance = "round-robin" proxy.server = ( "/" =>
        ( ( "host" => "127.0.0.1", "port" => 9000 ) ) )
}

而後在application.conf中加入下面一行,讓本地的反向代理可以鏈接上你的Play應用:

%server01.XForwardedSupport=127.0.0.1

這才只是個開始

若是一路上你一直跟着本教程,你應該已經懂得如何開發一個Play應用了。你學到了Play開發所需的大部分概念。

但有許多特性咱們還沒談論到,特別是跟Web服務相關的,好比JSON或XML。Play還有一些帶來更多特性的模塊沒有講到。而且Play自己也在不斷髮展着。

若是你認爲Play可以使得你的開發如虎添翼,如今把握機會開始吧!

謝謝收看!

相關文章
相關標籤/搜索