我正在使用 scala 和 play 框架从事一个网络项目。我担心应用程序部署部分。我需要在 Glass Fish 服务器中托管我的应用程序。那么有人有这方面的经验吗?我有托管 javaEE 应用程序将 .war 文件上传到服务器的经验。但我怎样才能托管这样的播放应用程序呢?
我参考了以下文章并构建了 dist。生产区 https://www.playframework.com/documentation/2.1.x/ProductionDist
如果有人可以一步一步地给我指示,我就很容易理解。谢谢
推荐的运行 Play 的方式!生产中的应用程序是以独立模式运行的,而不是在应用程序服务器环境中运行。不过,如果您愿意的话,有些插件可以为您构建 *.war 文件。特别是,看看这个:https://github.com/play2war/play2-war-plugin https://github.com/play2war/play2-war-plugin
我仍然建议您进行推荐的独立部署。我们有很好的经验sbt 本地打包程序 http://www.scala-sbt.org/sbt-native-packagerSBT 插件。它可以构建deb
and rpm
文件,支持 System V 或 Upstart 启动脚本。还有更多关于玩!生产页面 https://www.playframework.com/documentation/2.4.x/Production.
要使用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] /cdn-cgi/l/email-protection>"
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:packageBin
。它将构建您的应用程序并创建rpm
文件,其放置和命名如下:./target/rpm/RPMS/noarch/your-application-name.noarch.rpm
.
从那里开始,这是一个标准rpm
您可以像往常一样部署和启动。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)