我正在使用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 –