我正在使用scala和播放框架的Web項目中工作。我很擔心應用程序部署。我需要在Glassfish服務器上託管我的應用程序。所以任何人都有這方面的經驗?我有託管javaEE應用程序的經驗,將.war文件上傳到服務器。但我怎麼能主持像這樣的應用程序? 我已經參考以下文章,並建立dist。 Production DistScala播放框架Web應用程序託管流程
如果有人能夠一步一步地給我說明,那麼我很容易理解它。謝謝
我正在使用scala和播放框架的Web項目中工作。我很擔心應用程序部署。我需要在Glassfish服務器上託管我的應用程序。所以任何人都有這方面的經驗?我有託管javaEE應用程序的經驗,將.war文件上傳到服務器。但我怎麼能主持像這樣的應用程序? 我已經參考以下文章,並建立dist。 Production DistScala播放框架Web應用程序託管流程
如果有人能夠一步一步地給我說明,那麼我很容易理解它。謝謝
運行Play的推薦方法!生產中的應用程序是以獨立模式運行,而不是在應用程序服務器環境中運行。有些插件可以爲你創建* .war文件,但是,如果這是你喜歡前進的方式。特別是,看看這個:https://github.com/play2war/play2-war-plugin
我仍然建議你做推薦的獨立部署。我們與sbt-native-packager SBT插件有良好的經驗。它可以構建deb
和rpm
文件,並支持System V或Upstart啓動腳本。有關於Play! Production page的更多信息。
要使用sbt-native-packager
,您需要先將其添加到project/plugins.sbt
文件中。就像這樣:addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.0-RC2")
。
然後在build.sbt
中,您必須配置該軟件包的必要屬性,如上面鏈接的Production
頁所述。我會在這裏複製該頁面的一些配置。假設您將使用rpm
格式在CentOS上進行部署。下面是你需要把你的build.sbt
什麼:
lazy val root = (project in file("."))
.enablePlugins(PlayScala, RpmPlugin)
maintainer in Linux := "First Lastname <[email protected]>"
packageSummary in Linux := "My custom package summary"
packageDescription := "My longer package description"
rpmRelease := "1"
rpmVendor := "example.com"
rpmUrl := Some("http://github.com/example/server")
rpmLicense := Some("Apache v2")
然後啓動命令行sbt
並執行以下命令:。它將構建您的應用並創建rpm
文件,該文件將如下放置和命名:./target/rpm/RPMS/noarch/your-application-name.noarch.rpm
。
從那裏,這是一個標準的rpm
,您可以像往常一樣部署和啓動。
很好的答案。這可能是一個愚蠢的問題,但是在構建rpm(或其他格式)並啓動應用程序後,應用程序將以jvm運行。如何指定JVM的設置(堆空間等)。 – eddyP23
SBT本機打包器插件允許您配置JVM參數。看看這裏:http://www.scala-sbt.org/sbt-native-packager/archetypes/java_app/customize.html – Haspemulator
我不知道如何以及如何上傳到服務器。我已經使用這篇文章創建了一個zip文件(https://www.playframework.com/documentation/2.1.x/ProductionDist)。與那我怎麼可以託管我的應用程序在一個像glassfish –