成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

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

Binguner / 3057人閱讀

摘要:對(duì)的詳細(xì)配置已經(jīng)超出了本教程的范圍,但大體上看上去像這樣然后在中加入下面一行,讓本地的反向代理能夠連接上你的應(yīng)用這才只是個(gè)開(kāi)始如果一路上你一直跟著本教程,你應(yīng)該已經(jīng)懂得如何開(kāi)發(fā)一個(gè)應(yīng)用了。

部署應(yīng)用

如今我們已經(jīng)完成了博客引擎了。讓我們來(lái)看一下一些部署Play應(yīng)用的步驟。

定義一個(gè)框架ID

一般,你需要部署你的應(yīng)用到一臺(tái)跟開(kāi)發(fā)時(shí)不一樣的電腦。這臺(tái)電腦(很有可能是臺(tái)服務(wù)器)上面的Play安裝包不會(huì)是一樣的。

Play允許你給每個(gè)框架安裝包指定不同的ID,來(lái)用同一個(gè)application.conf管理不同的配置。讓我們假設(shè)應(yīng)用將部署在server01上。

一旦框架已經(jīng)安裝在服務(wù)器上,用play id來(lái)定義一個(gè)框架ID:

$ play id

并設(shè)置id為server01。現(xiàn)在我們可以在yabe的配置中定義只在服務(wù)器運(yùn)行時(shí)起效的值。

在PROD模式下設(shè)置應(yīng)用

我們首先給部署版本定義application.mode變量。目前,我們一直使用DEV來(lái)實(shí)現(xiàn)熱重載,即時(shí)重新編譯Java文件,顯示錯(cuò)誤信息。在PROD模式中,Play會(huì)在啟動(dòng)時(shí)編譯所有的Java代碼和模板,而且不會(huì)檢查是否有改變。

yabe/conf/application.conf定義:

%server01.application.mode=PROD

現(xiàn)在當(dāng)你在服務(wù)器運(yùn)行yabe,它就會(huì)自動(dòng)在PROD下啟動(dòng)。

配置MYySQL數(shù)據(jù)庫(kù)

在生產(chǎn)環(huán)境中,我們將使用MySQL而不是一直在用的H2數(shù)據(jù)庫(kù)。Play提供了MySQL配套的JDBC驅(qū)動(dòng),所以我們不需要下載別的。

編輯yabe/conf/application.conf中的數(shù)據(jù)庫(kù)配置:

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

我們現(xiàn)在調(diào)整一下Hibernate管理數(shù)據(jù)庫(kù)模式的方式。如果Java模型變動(dòng)時(shí),Hibernate能夠自動(dòng)更新數(shù)據(jù)庫(kù)模式,那是再好不過(guò)的。

修改jpa.ddl配置鍵:

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

不過(guò)這么做恐怕會(huì)導(dǎo)致不可預(yù)料的后果,畢竟,在運(yùn)行時(shí)吧數(shù)據(jù)庫(kù)的安全交給未知的事物,這不是個(gè)好主意。如果你不希望Hibernate自動(dòng)更新數(shù)據(jù)庫(kù),修改jpa.ddl配置鍵為validate

%server01.jpa.ddl=validate
配置HTTP服務(wù)器

目前我們僅僅是把80端口作為內(nèi)置HTTP服務(wù)器的默認(rèn)端口。但是這樣做一臺(tái)服務(wù)器上只能運(yùn)行一個(gè)Play應(yīng)用。如果我們需要在一臺(tái)服務(wù)器上運(yùn)行不同的應(yīng)用(不過(guò)使用的是不同的IP地址),我們需要使用一個(gè)HTTP服務(wù)器作為反向代理。

你可以選擇喜歡的HTTP服務(wù)器并配置其作為反向代理。這里我們選擇輕量級(jí)的lighttpd作為例子。

對(duì)lighttpd的詳細(xì)配置已經(jīng)超出了本教程的范圍,但大體上看上去像這樣:

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應(yīng)用:

%server01.XForwardedSupport=127.0.0.1
這才只是個(gè)開(kāi)始
  

如果一路上你一直跟著本教程,你應(yīng)該已經(jīng)懂得如何開(kāi)發(fā)一個(gè)Play應(yīng)用了。你學(xué)到了Play開(kāi)發(fā)所需的大部分概念。

但有許多特性我們還沒(méi)談?wù)摰?,特別是跟Web服務(wù)相關(guān)的,比如JSON或XML。Play還有一些帶來(lái)更多特性的模塊沒(méi)有講到。并且Play本身也在不斷發(fā)展著。

如果你認(rèn)為Play能夠使得你的開(kāi)發(fā)如虎添翼,現(xiàn)在把握機(jī)會(huì)開(kāi)始吧!

謝謝收看!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64093.html

相關(guān)文章

  • [翻譯]Play框架1.2.7版本教程(1)

    摘要:確保你的文本編輯器已經(jīng)做了相應(yīng)的配置。第一個(gè),會(huì)自動(dòng)監(jiān)測(cè)源代碼的改變并在運(yùn)行時(shí)自動(dòng)重載。檢查下面的一行是否出現(xiàn)在應(yīng)用日志中使用版本控制系統(tǒng)來(lái)追蹤變化當(dāng)你開(kāi)發(fā)一個(gè)項(xiàng)目時(shí),最好使用版本控制系統(tǒng)來(lái)存儲(chǔ)你的源代碼。 Play是一個(gè)Java Web敏捷開(kāi)發(fā)的框架http://www.playframework.com/documentation/1.2.7/home 之所以要翻譯這個(gè)教程,是因...

    solocoder 評(píng)論0 收藏0
  • [翻譯]Play框架1.2.7版本教程(10) - 完成應(yīng)用測(cè)試

    摘要:完成應(yīng)用測(cè)試我們已經(jīng)完成了我們想要?jiǎng)?chuàng)建的博客引擎。當(dāng)然我們已經(jīng)完成了測(cè)試所有模型層的功能。評(píng)估代碼覆蓋率當(dāng)然我們還沒(méi)有完成應(yīng)用所需的所有測(cè)試用例。如你所見(jiàn),我們遠(yuǎn)遠(yuǎn)沒(méi)有完成對(duì)應(yīng)用的全面測(cè)試。 完成應(yīng)用測(cè)試 我們已經(jīng)完成了我們想要?jiǎng)?chuàng)建的博客引擎。不過(guò)這個(gè)項(xiàng)目尚未完全結(jié)束。為了保證代碼的質(zhì)量,我們需要添加更多的測(cè)試。 當(dāng)然我們已經(jīng)完成了測(cè)試所有模型層的功能。所以博客引擎的核心功能已經(jīng)被...

    _Dreams 評(píng)論0 收藏0
  • [翻譯]Play框架1.2.7版本教程(12) - 國(guó)際化和本地化

    摘要:國(guó)際化和本地化完成了博客引擎后,我們來(lái)考慮額外的一件事應(yīng)用的國(guó)際化和語(yǔ)言的本地化。國(guó)際化和本地化我們將分兩步討論,先是國(guó)際化,再是本地化。實(shí)際上,兩者是同步進(jìn)行的你在國(guó)際化的同時(shí),往往也是在本地化。 國(guó)際化和本地化 完成了博客引擎后,我們來(lái)考慮額外的一件事:Web應(yīng)用的國(guó)際化和語(yǔ)言的本地化。雖然我們可以一開(kāi)始就做這件事,但是最好還是先完成該應(yīng)用的單一語(yǔ)言版本,然后再添加其他語(yǔ)言的支持...

    hoohack 評(píng)論0 收藏0
  • [翻譯]Play框架1.2.7版本教程(7) - 通過(guò)CRUD來(lái)實(shí)現(xiàn)一個(gè)基本的管理面板

    摘要:通過(guò)來(lái)實(shí)現(xiàn)一個(gè)基本的管理面板目前,我們還沒(méi)法使用博客的來(lái)寫(xiě)新的文章,或修改評(píng)論。提供了一個(gè)即開(kāi)即用的模塊,可以快速生成一個(gè)基本的管理面板。這是因?yàn)槟J(rèn)是以的輸出來(lái)得到一個(gè)模型對(duì)象的表示。在本教程的最后一章,你會(huì)學(xué)到關(guān)于本地化信息的更多東西。 通過(guò)CRUD來(lái)實(shí)現(xiàn)一個(gè)基本的管理面板 目前,我們還沒(méi)法使用博客的UI來(lái)寫(xiě)新的文章,或修改評(píng)論。Play提供了一個(gè)即開(kāi)即用的CRUD模塊,可以快速...

    騫諱護(hù) 評(píng)論0 收藏0
  • [翻譯]Play框架1.2.7版本教程(5) - 設(shè)置驗(yàn)證碼

    摘要:設(shè)置驗(yàn)證碼任何人都可以在我們的博客下發(fā)布評(píng)論,所以我們需要避免非人類(lèi)用戶(hù)來(lái)擾亂秩序。一個(gè)簡(jiǎn)單的防范方法是設(shè)置驗(yàn)證碼。然后我們修改表單來(lái)顯示驗(yàn)證碼,并把寫(xiě)入隱藏的域里面。檢查驗(yàn)證碼功能是否完成了。 設(shè)置驗(yàn)證碼 任何人都可以在我們的博客下發(fā)布評(píng)論,所以我們需要避免非人類(lèi)用戶(hù)來(lái)擾亂秩序。一個(gè)簡(jiǎn)單的防范方法是設(shè)置驗(yàn)證碼。 生成驗(yàn)證碼 如何利用Play框架來(lái)生成驗(yàn)證碼?簡(jiǎn)單來(lái)說(shuō),我們需要增...

    姘存按 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<