【问题标题】:Play Framework application deploymentPlay 框架应用部署
【发布时间】:2011-08-15 18:34:41
【问题描述】:

开发 Play 应用程序已经很长时间了,现在是部署它的时候了。那是我的第一次,所以我有点迷路了。哪个托管公司是最好的并提供优惠的价格?

【问题讨论】:

标签: java web-applications deployment hosting playframework


【解决方案1】:

我可能会发布我所做的详细说明,但这里有一个 2 分钟的快速总体思路。

购买带有 debian 压缩 (6.0) 映像的 Amazon 微型实例虚拟服务器(成本约为 11 美元/月)

$> sudo apt-get install sun-java6-jdk6
$> sudo apt-get install mysql5
~: wget <playDownloadURL>
~: unzip *.zip
~: set path to java, play

sftp/scp your source code to /var/www/<yourApp>
$> cd /var/www/<yourApp>
$> play start 
~: (not actual commands but the concept)

你在做生意。

【讨论】:

  • 你在生产环境中使用过这个吗?遇到任何问题?
【解决方案2】:

Play Framework 的创建者公司Zenexity 提出了一种专用于Play 应用程序的托管解决方案:PlayApps

这可能是最好的选择,因为它是原生 Play 托管。


否则,您可以将 Play 应用程序导出为经典战争:

play war yourapp -o yourapp.war

然后,这场战争可以部署在每个 Java 服务器(Tomcat、Glassfish 等)上。要托管 Java 应用程序服务器,您可能需要专用或虚拟化服务器。


另一种解决方案是在Google App Engine 上部署您的应用程序。但为此,您必须以特定方式开发您的 Play 应用程序。特别是,您不能使用经典的持久性。您必须使用 Siena Play module 来管理您的 Google App Engine 实体。

我不知道 Play 应用是否可以轻松部署在其他云结构上。也许在 Cloud Foundry 上,因为它支持 Java 应用程序,但我没有测试它,并且还没有为这个平台部署插件。

【讨论】:

  • PlayApps 不再可用。
  • Play2 不再支持战争文件。有一个项目可以添加这种支持,但据我了解这不起作用,所以我不会指望它。
【解决方案3】:

可以看这个方向Heroku

【讨论】:

  • Heroku 和 Play 目前连接得很好。
【解决方案4】:

Cloudbees,http://cloudbees.com,是一个很好的选择。甚至还有一个 Play Framework Module。

http://www.playframework.org/modules/cloudbees-0.1/home

【讨论】:

    【解决方案5】:

    我的全部游戏!应用程序托管在对小型网站免费的 Google App Engine 上。但是您可以主持 Play!任何 Java 网络托管服务提供商上的应用程序。

    【讨论】:

    • 您将哪些数据源/数据库用于托管在 GAE 中的应用程序。我对 Play 有点陌生,我正在考虑在 GAE 上进行部署,这就是为什么好奇。
    • 我使用了 Google App Engine 数据存储区 (developers.google.com/appengine/docs/java/datastore)。在 Play 1.x 中,我使用 Siena 模块来简化 GAE 数据存储的使用。在 Play 2.x 中,您可以使用 github.com/mandubian/play-siena
    【解决方案6】:

    在这个问题Experiences on free and low-cost hosting for play framework applications?

    播放框架有多种云选项...

    【讨论】:

      【解决方案7】:

      Play 支持多种云托管解决方案。 Stax 有一个模块,并且留言板已经在其他几个模块上提到了成功。在 google 群组上快速搜索“部署”将显示许多选项。

      不过,我会推荐 PlayApps,它实际上是托管在 Gandi 上的(我想!)而且定价计划是相同的,所以 Zenexity 的家伙实际上并没有从中赚钱。他们将其设置为方便我们开发人员。

      GAE 是一个选项,但它限制了您可以使用 Play 执行的操作。 WAR 文件部署选项,允许部署到任何 java servlet 容器也是一个选项,但不必要地增加了容器的开销和资源,所以再次强调,这不是最佳选项。

      【讨论】:

      • Stax 已经消失并被 Cloudbees 吸收了!​​span>
      【解决方案8】:

      你可以试试玩!经理。它是一个播放应用程序的管理器,很像 Tomcat 管理器。值得一试:

      https://github.com/mbarbieri/playmanager

      【讨论】:

        【解决方案9】:

        最近我一直在使用 openshift 来托管 playframework 应用程序

        看起来真的很不错,你有 mysql、phpmyadmin、mongodb、mongorock、jenkins,更重要的是,你得到了 5 个应用程序,每个应用程序有 500MB 的操作数据空间......免费......

        我也在使用这个播放模块来简化对 openshift 的部署

        https://github.com/opensas/openshift/blob/master/documentation/manual/home.textile

        看看这些文章:

        playlatam.wordpress.com

        detailed github tutorial

        article found at openshift's site

        【讨论】:

          【解决方案10】:

          如果有人对在 Linode 上上传感兴趣,请关注此线程。

          Linode 512 and play! framework

          【讨论】:

            【解决方案11】:

            我建议你看看http://www.playframework-cloud.com

            此 PaaS 平台可以根据您的流量自动扩展和缩减您的应用程序。如果您想要垂直、水平或两种类型的可扩展性,您还可以进行精细定制。这种扩展的结果是您随用随付:您只需为实际消费而不是潜在消费付费。

            通过 git 部署。

            非 AWS,托管在第 4 层以上的数据中心。

            免费试用!

            【讨论】:

              【解决方案12】:

              对于 AWSBoxfuse 提供了一个非常简单的解决方案。

              有了 Boxfuse 的原生 Play 2 支持,您现在可以简单地执行

              boxfuse run my-play-app-1.0.zip -env=prod

              这会自动:

              • 为您的 Play 2 应用量身定制最小 AMI
              • 创建弹性 IP
              • 创建具有正确权限的安全组
              • 启动您的应用实例

              所有未来的更新都作为蓝/绿部署执行,停机时间为零。

              这也适用于 Elastic Load Balancer 和 Auto-Scaling Groups,Boxfuse 免费套餐旨在适应 AWS 免费套餐,这实际上意味着您可以免费部署应用程序

              您可以在此处阅读更多信息:https://boxfuse.com/blog/playframework-aws

              免责声明:我是 Boxfuse 的创始人兼首席执行官

              【讨论】:

                【解决方案13】:

                我会研究云托管。

                如果您使用 .NET 开发应用程序,请查看 Windows Azure

                否则,请查看Amazon EC2

                如果您是初学者,设置起来会有点混乱,但他们有指南和资料可以帮助您完成设置,并且您可以通过云获得 100% 的可扩展性。

                【讨论】:

                • 他说他用 Java 和 Play!框架......你从哪里得到 .NET?
                • 我刚刚提出了云并展示了他可以使用的两个基本版本。现在,坚持使用亚马逊更有意义。 Java 有很多 EC2 框架。
                • -1 对于这个答案。 OP 要求为 Play 提供特定的托管选项,而不是一般的云托管选项。
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2015-01-20
                • 1970-01-01
                • 1970-01-01
                • 2012-01-06
                • 1970-01-01
                • 2015-08-01
                相关资源
                最近更新 更多