摘要:對的詳細配置已經超出了本教程的范圍,但大體上看上去像這樣然后在中加入下面一行,讓本地的反向代理能夠連接上你的應用這才只是個開始如果一路上你一直跟著本教程,你應該已經懂得如何開發一個應用了。
部署應用
如今我們已經完成了博客引擎了。讓我們來看一下一些部署Play應用的步驟。
定義一個框架ID一般,你需要部署你的應用到一臺跟開發時不一樣的電腦。這臺電腦(很有可能是臺服務器)上面的Play安裝包不會是一樣的。
Play允許你給每個框架安裝包指定不同的ID,來用同一個application.conf管理不同的配置。讓我們假設應用將部署在server01上。
一旦框架已經安裝在服務器上,用play id來定義一個框架ID:
$ play id
并設置id為server01。現在我們可以在yabe的配置中定義只在服務器運行時起效的值。
在PROD模式下設置應用我們首先給部署版本定義application.mode變量。目前,我們一直使用DEV來實現熱重載,即時重新編譯Java文件,顯示錯誤信息。在PROD模式中,Play會在啟動時編譯所有的Java代碼和模板,而且不會檢查是否有改變。
在yabe/conf/application.conf定義:
%server01.application.mode=PROD
現在當你在服務器運行yabe,它就會自動在PROD下啟動。
配置MYySQL數據庫在生產環境中,我們將使用MySQL而不是一直在用的H2數據庫。Play提供了MySQL配套的JDBC驅動,所以我們不需要下載別的。
編輯yabe/conf/application.conf中的數據庫配置:
%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能夠使得你的開發如虎添翼,現在把握機會開始吧!
謝謝收看!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64093.html
摘要:確保你的文本編輯器已經做了相應的配置。第一個,會自動監測源代碼的改變并在運行時自動重載。檢查下面的一行是否出現在應用日志中使用版本控制系統來追蹤變化當你開發一個項目時,最好使用版本控制系統來存儲你的源代碼。 Play是一個Java Web敏捷開發的框架http://www.playframework.com/documentation/1.2.7/home 之所以要翻譯這個教程,是因...
摘要:完成應用測試我們已經完成了我們想要創建的博客引擎。當然我們已經完成了測試所有模型層的功能。評估代碼覆蓋率當然我們還沒有完成應用所需的所有測試用例。如你所見,我們遠遠沒有完成對應用的全面測試。 完成應用測試 我們已經完成了我們想要創建的博客引擎。不過這個項目尚未完全結束。為了保證代碼的質量,我們需要添加更多的測試。 當然我們已經完成了測試所有模型層的功能。所以博客引擎的核心功能已經被...
摘要:國際化和本地化完成了博客引擎后,我們來考慮額外的一件事應用的國際化和語言的本地化。國際化和本地化我們將分兩步討論,先是國際化,再是本地化。實際上,兩者是同步進行的你在國際化的同時,往往也是在本地化。 國際化和本地化 完成了博客引擎后,我們來考慮額外的一件事:Web應用的國際化和語言的本地化。雖然我們可以一開始就做這件事,但是最好還是先完成該應用的單一語言版本,然后再添加其他語言的支持...
摘要:通過來實現一個基本的管理面板目前,我們還沒法使用博客的來寫新的文章,或修改評論。提供了一個即開即用的模塊,可以快速生成一個基本的管理面板。這是因為默認是以的輸出來得到一個模型對象的表示。在本教程的最后一章,你會學到關于本地化信息的更多東西。 通過CRUD來實現一個基本的管理面板 目前,我們還沒法使用博客的UI來寫新的文章,或修改評論。Play提供了一個即開即用的CRUD模塊,可以快速...
摘要:設置驗證碼任何人都可以在我們的博客下發布評論,所以我們需要避免非人類用戶來擾亂秩序。一個簡單的防范方法是設置驗證碼。然后我們修改表單來顯示驗證碼,并把寫入隱藏的域里面。檢查驗證碼功能是否完成了。 設置驗證碼 任何人都可以在我們的博客下發布評論,所以我們需要避免非人類用戶來擾亂秩序。一個簡單的防范方法是設置驗證碼。 生成驗證碼 如何利用Play框架來生成驗證碼?簡單來說,我們需要增...
閱讀 3264·2023-04-25 14:35
閱讀 3417·2021-11-15 18:00
閱讀 2536·2021-11-12 10:34
閱讀 2481·2021-11-11 16:54
閱讀 3464·2021-10-08 10:12
閱讀 2762·2021-09-06 15:02
閱讀 3318·2021-09-04 16:48
閱讀 2799·2019-08-29 14:02