如何部署基于Play Framework的应用程序

时间:2012-11-11 14:08:41

标签: playframework playframework-2.0

我是Play Framework(2.0.4)的新手。我开发了一个小应用程序并在内置的播放框架Web服务器上本地运行它。现在我想将它部署在远程服务器(APPFOG.COM或任何其他Web服务器)上。有人可以指导我如何远程部署它。

我是否必须创建war文件,如果是,请指导我如何创建它并将其部署在远程服务器上。

如果还有其他方法,请在这方面指导我。

提前致谢

4 个答案:

答案 0 :(得分:6)

最好看的地方是Github上的Play文档:https://github.com/playframework/Play20/wiki/Production

在本文档中,您将找到几种在多个提供商上部署应用的方法:

但是如果你想在servlet容器中部署你的Play2应用程序(即作为战争),请查看play2-war-plugin

答案 1 :(得分:0)

如果您希望自动化Play应用部署,请查看此内容可能会有所帮助

http://community.opscode.com/cookbooks/deploy-play

答案 2 :(得分:0)

最近写了一篇文章,展示了使用supervisor和monit部署完全证明自我重新加载的播放应用程序的步骤。

我之所以写这篇文章,是因为游戏部署文档没有解决问题的方法,比如写入时由于内存泄漏引起的隧道时间异常导致的故障或应用程序挂起。 Monit是监控后台运行流程的绝佳工具。 http://www.ravinderpayal.com/Deploying-Play-Scala-application-into-production-by-Ravinder-Payal/

答案 3 :(得分:0)

您无需在tomcat等应用程序服务器上部署播放应用程序,也无需使用WAR文件格式。 Play已经附带了自己的捆绑服务器。

对于Play版本2.6:“Play现在使用Akka-HTTP服务器引擎作为默认后端。”

过去的版本默认使用Netty。它仍然受支持,但必须明确配置。

要部署您的应用,您需要创建一个分发包来在项目主文件夹上执行该操作:

sbt dist

创建二进制分发:“这将生成一个ZIP文件,其中包含在应用程序的target / universal文件夹中运行应用程序所需的所有JAR文件。

要运行应用程序,请在目标服务器上解压缩该文件,然后在bin目录中运行该脚本。脚本的名称是您的应用程序名称,它有两个版本,一个bash shell脚本和一个Windows .bat脚本。“

以下是部署应用的步骤:

  1. 创建分发包sbt dist
  2. 生成应用程序密钥运行:playGenerateSecret
  3. 复制并解压缩服务器中的软件包并运行应用程序的二进制启动脚本并将密码作为参数传递:
  4. unzip my-first-app-1.0.zip

    my-first-app-1.0/bin/my-first-app -Dplay.http.secret.key=abcdefghijk

    查看有关部署说明的更多详细信息here

    您可能还想使用SBT Native Packager调查其他部署格式,因为它为各种格式提供工件生成功能,包括:

    • OS X磁盘映像
    • Microsoft Installer(MSI)
    • 的RPM
    • Debian软件包
    • RPM / Debian软件包中的System V / init.d和Upstart服务