5

Play Framework(2.0.4)は初めてです。私は小さなアプリを開発し、組み込みのPlayFrameworkWebサーバーでローカルに実行しました。次に、リモートサーバー(APPFOG.COMまたはその他のWebサーバー)に展開します。誰かがそれをリモートで展開する方法を教えてもらえますか?

WARファイルを作成する必要があるかどうかにかかわらず、作成する方法とリモートサーバーにデプロイする方法を教えてください。

他に方法があれば、この点について教えてください。

前もって感謝します

4

4 に答える 4

6

確認するのに最適な場所は、GithubのPlayドキュメントです:https ://github.com/playframework/Play20/wiki/Production

このドキュメントでは、アプリを複数のプロバイダーにデプロイするいくつかの方法を紹介しています。

ただし、Play2アプリをサーブレットコンテナに(つまり、戦争として)デプロイする場合は、play2-war-pluginを確認してください。

于 2012-11-11T14:14:50.387 に答える
3

PlayアプリをTomcatなどのアプリケーションサーバーにデプロイしたり、WARファイル形式を使用したりする必要はありません。Playにはすでに独自のバンドルサーバーが付属しています。

Playバージョン2.6の場合:「PlayはデフォルトのバックエンドとしてAkka-HTTPサーバーエンジンを使用するようになりました。」

以前のバージョンでは、デフォルトとしてNettyを使用していました。引き続きサポートされますが、明示的に構成する必要があります。

アプリをデプロイするには、プロジェクトのホームフォルダーで実行するための配布パッケージを作成する必要があります。

sbt dist

バイナリディストリビューションが作成されます。「これにより、アプリケーションのターゲット/ユニバーサルフォルダでアプリケーションを実行するために必要なすべてのJARファイルを含むZIPファイルが生成されます。

アプリケーションを実行するには、ターゲットサーバーでファイルを解凍してから、binディレクトリでスクリプトを実行します。スクリプトの名前はアプリケーション名であり、bashシェルスクリプトとwindows.batスクリプトの2つのバージョンがあります。」

アプリをデプロイする手順は次のとおりです。

  1. 配布パッケージを作成するsbt dist
  2. アプリケーションシークレットランを生成します。playGenerateSecret
  3. サーバーでパッケージをコピーして解凍し、アプリのバイナリ開始スクリプトを実行して、シークレットをパラメーターとして渡します。

unzip my-first-app-1.0.zip

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

導入手順の詳細については、こちらをご覧ください。

また、 SBT Native Packagerを使用して他のデプロイメント形式を調査することもできます。これは、次のようなさまざまな形式のアーティファクト生成機能を提供するためです。

  • OSXディスクイメージ
  • Microsoftインストーラー(MSI)
  • RPM
  • Debianパッケージ
  • RPM/DebianパッケージのSystemV/init.dおよびUpstartサービス
于 2018-05-09T04:38:30.007 に答える
0

これを見てください。Playアプリのデプロイを自動化する場合に役立つ可能性があります

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

于 2014-03-04T09:27:22.717 に答える
0

最近、スーパーバイザーとモニターを使用して完全なプルーフの自己再読み込み可能なプレイアプリケーションをデプロイするための手順を示す投稿を書きました。

これを書いたのは、プレイデプロイのドキュメントには、書き込み時点での調整時間の例外による失敗やメモリリークによるアプリケーションのハングなどの問題に対する解決策がないためです。Monitは、バックグラウンドで実行されているプロセスを監視するための優れたツールです。 http://www.ravinderpayal.com/Deploying-Play-Scala-application-into-production-by-Ravinder-Payal/

于 2017-11-15T07:23:49.273 に答える