Documentation

You are viewing the documentation for Play 1. The documentation for Play 2 is here.

デプロイオプション

事実上、Play アプリケーションはどこにでもデプロイすることができます: サーブレットコンテナの中や、スタンドアロンサーバとして、または Google App Engine、Stack、クラウドにもデプロイすることができます。

スタンドアロン Play アプリケーション

もっとも簡単で堅牢な方法は、Play アプリケーションをどのコンテナにも乗せずに実行することです。バーチャルホストのような高度な HTTP の機能が必要な場合は、フロントに Lighttpd や Apache のような HTTP サーバを使用することができます。

内蔵の HTTP サーバは 1 秒あたり数千の HTTP リクエストを捌くことができるので、これが性能のボトルネックになることは決してありません。さらに、この HTTP サーバはより効率的なスレッドモデルを使用します (Servlet コンテナは 1 リクエストあたり 1 つのスレッドを使用します) 。モジュール を使うことで、別のサーバ (Grizzly、Netty、その他...) を使用することもできます。

これらのサーバは、長時間のポーリングをサポートしており、実行スレッドをブロックせずに非常に長い (長時間タスクの完了を待つ) リクエストや、ファイルオブジェクト (それから、Content-Length を指定すれば、どのような入力ストリームでも) の直接ストリーミングを管理することができます。

開発工程で使用したものと同じ環境を使用するので、この方法でアプリケーションを実行する場合、問題はほとんど起こりません。JEE アプリケーションサーバにデプロイするときにだけ、大量のバグ (異なるホームディレクトリ、クラスローダの問題、ライブラリの競合、その他...) が検出されます。

より詳しい情報については、 アプリケーションの本番稼動 を参照してください。

アプリケーションサーバ

Play アプリケーションは、お好みのアプリケーションサーバで実行することもできます。ほとんどのアプリケーションサーバーは特別な設定なしでサポートされています。

アプリケーションサーバ互換性マトリクス

JBoss 4.2.x JBoss 5.x JBoss 6M2 Glasshfish v3 IBM Websphere 6.1 IBM Websphere 7 Geronimo 2.x Tomcat 6.x Jetty 7.x Resin 4.0.5

これらのアプリケーションサーバで play 1.0.2 が動作することは分かっています; この他に動作する配備環境があれば、遠慮なく報告してください。

デプロイ

アプリケーションを war ファイルとしてパッケージする必要があります。これは、以下のコマンドで容易に実行できます:

play war myapp -o myapp.war

アプリケーションサーバが展開された WAR ファイルの配備をサポートしていることを確認してください。

これでアプリケーションをデプロイする準備が整いました。

アプリケーションのライブラリ間におけるバージョン不整合を避けるため、Play アプリケーションを他のアプリケーションから ‘隔離’ するようアドバイスされています。この手順はベンダに特化したものであり、標準的な JEE/サーブレットコンテナ仕様によるものではありません。

WAR ファイルを ‘隔離’ するために、アプリケーションサーバのマニュアルを参照することをお勧めします。以下の例は、JBoss アプリケーションサーバにおいて war ファイルを隔離する方法です。これがオプションの手順であることに注意してください:

アプリケーションの war ディレクトリにある myapp.war/WEB-INF/jboss-web.xml に以下の内容を挿入 (または新規に作成) してください:


<jboss-web>
 <class-loading java2classloadingcompliance="false">
 <loader-repository>
 com.example:archive=unique-archive-name
 <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
 </loader-repository>
</class-loading>
</jboss-web>

com.example:archive=unique-archive-name を一意であり続ける名前に書き換えてください。

Google App Engine (GAE)

Play! アプリケーションは容易に GAE にデプロイすることができます。以下のようにして関連する GAE モジュール をインストールします。

play install gae

Google App Engine へのデプロイも非常に簡単です:

play gae:deploy myapp

より詳しい情報については、 モジュールのドキュメント を参照してください。

Stax クラウドホスティングプラットフォーム

Stax クラウドホスティングプラットホーム へのデプロイもこれ以上ないほど簡単です。Stax モジュールのインストールとデプロイにかかるのは数秒です。

より詳しい情報については、 モジュールのドキュメント を参照してください。

考察を続けます

次: 本番環境へのデプロイ