Scala Play framework web应用程序托管过程

Scala Play framework web应用程序托管过程,scala,playframework,web-hosting,Scala,Playframework,Web Hosting,我在一个使用scala和play框架的web项目中工作。我担心应用程序部署部分。我需要在Glass fish服务器中托管我的应用程序。有人有这方面的经验吗?我有托管javaEE应用程序的经验,可以将.war文件上传到服务器。但我怎样才能像那样托管play应用程序呢? 我已经参考了下面的文章并构建了dist。 如果有人能一步一步地给我指示,我很容易理解。谢谢你推荐的跑步方式!生产中的应用程序将以独立模式运行,而不是在应用程序服务器环境中运行。不过,如果您喜欢这样做的话,有些插件可以为您构建*.w

我在一个使用scala和play框架的web项目中工作。我担心应用程序部署部分。我需要在Glass fish服务器中托管我的应用程序。有人有这方面的经验吗?我有托管javaEE应用程序的经验,可以将.war文件上传到服务器。但我怎样才能像那样托管play应用程序呢? 我已经参考了下面的文章并构建了dist。


如果有人能一步一步地给我指示,我很容易理解。谢谢你推荐的跑步方式!生产中的应用程序将以独立模式运行,而不是在应用程序服务器环境中运行。不过,如果您喜欢这样做的话,有些插件可以为您构建*.war文件。特别是,看看这个:

我仍然建议您执行推荐的独立部署。我们对SBT插件有很好的体验。它可以构建
deb
rpm
文件,并支持systemv或Upstart启动脚本。有更多的信息在这个网站上

要使用
sbt原生打包程序
,首先需要将其添加到
项目/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 <first.last@example.com>"

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")
lazy val root=(文件(“.”)中的项目)
.enablePlugins(PlayScala、RpmPlugin)
Linux中的维护者:=“First Lastname”
Linux中的packageSummary:=“我的自定义包摘要”
packageDescription:=“我的较长软件包说明”
rpmRelease:=“1”
rpmVendor:=“example.com”
rpmUrl:=一些(“http://github.com/example/server")
rpmLicense:=Some(“Apache v2”)
然后从命令行启动
sbt
,并执行以下命令:
rpm:packageBin
。它将构建您的应用程序并创建
rpm
文件,该文件的位置和名称如下:
/target/rpm/RPMS/noarch/your application name.noarch.rpm


从这里开始,它是一个标准的
rpm
,您可以像往常一样部署和启动。

我不知道如何以及应该上传什么到服务器。我使用本文()创建了一个zip文件。有了它,我怎样才能在GlassFish这样的服务器上托管我的应用程序呢?这是一个很好的答案。这可能是一个愚蠢的问题,但在构建rpm(或任何其他格式)并启动应用程序后,应用程序将在jvm中运行。如何指定JVM(堆空间等)的设置SBT native packager插件允许您配置JVM参数。请看这里: