PlayアプリをTomcatなどのアプリケーションサーバーにデプロイしたり、WARファイル形式を使用したりする必要はありません。Playにはすでに独自のバンドルサーバーが付属しています。
Playバージョン2.6の場合:「PlayはデフォルトのバックエンドとしてAkka-HTTPサーバーエンジンを使用するようになりました。」
以前のバージョンでは、デフォルトとしてNettyを使用していました。引き続きサポートされますが、明示的に構成する必要があります。
アプリをデプロイするには、プロジェクトのホームフォルダーで実行するための配布パッケージを作成する必要があります。
sbt dist
バイナリディストリビューションが作成されます。「これにより、アプリケーションのターゲット/ユニバーサルフォルダでアプリケーションを実行するために必要なすべてのJARファイルを含むZIPファイルが生成されます。
アプリケーションを実行するには、ターゲットサーバーでファイルを解凍してから、binディレクトリでスクリプトを実行します。スクリプトの名前はアプリケーション名であり、bashシェルスクリプトとwindows.batスクリプトの2つのバージョンがあります。」
アプリをデプロイする手順は次のとおりです。
- 配布パッケージを作成する
sbt dist
- アプリケーションシークレットランを生成します。
playGenerateSecret
- サーバーでパッケージをコピーして解凍し、アプリのバイナリ開始スクリプトを実行して、シークレットをパラメーターとして渡します。
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サービス