2011-06-26 4 views
13

コマンドplay runの後、Playはマシン上のホストとしてどのように開始されますか?それは舞台裏でapache、tomcatなどを実行していますか?プレイを展開する!フレームワークアプリケーション

私のアプリ(play!フレームワークを使って構築されたもの)をapacheなどでホストしたいのであれば簡単な作業ですか?

+1

回答に記載されているとおり、再生は、リバースプロキシとしてのapache設定(プロダクションでのアプリの表示を参照)と組み合わせて使用​​できます。また、Play!に含まれるnettyサーバーを使用したスタンドアロン実行としても使用できます。答えがあなたの質問を満たす場合は、そのうちの1つを受け入れます。 – emt14

答えて

11

通常、再生は独自のサーバーであるplay.server.Serverクラスを使用して実行されます。 Apacheなどの別のサーバーを介してPlayアプリケーションにアクセスすることは、Playサーバーに直接アクセスするよりも高速になることはありませんが、他の理由でそれを実行する場合は、Put your application in productionを参照してください。

+0

Java/Scalaコードを使用してこのサーバを呼び出すにはどうすればよいですか? (Playを使用しない) – Jus12

14

舞台裏でnettyを実行しています。あなたがTomcatやJettyのようなサーブレットコンテナの下でそれをホストしたい場合は、ちょうどあなたのプロジェクトフォルダから次の操作を行います。

play war -o /tmp 

、あなたが/tmpフォルダ内のプロジェクトのwarファイルが表示されます。 TomcatやJettyのwebappsフォルダに貼り付けておいてください。 Apache/httpdを使ってサーブレットコンテナをフロントエンドすることができます(つまり、Playframeworkからの戦争がフロントエンドの部分に影響を与えないという事実)。

5

play2のように、あなたのプロジェクトを戦争ファイルとしてパッケージ化するための正式なサポートはもうなくなりました。また、すぐにサポートが復活するようなことはありません。

Play2にはNettyをベースとした独自のWebサーバーが付属しており、展開するためには "プレイステージ"を使用してプロジェクトをパッケージ化して "target/start"コマンドを使用して実行します。

Play2がインストールされていないサーバーでプロジェクトをホストする場合は、まず「sbtコンパイルステージ」コマンドを使用します。これにより、必要な依存関係がバンドルされます。

サーブレット3.0または2.5のコンテナ(Tomcat 6/7、Jetty 7/8/9、JBoss 5/6 /など)への展開に興味がある場合は、非公式な努力があります。https://github.com/dlecan/play2-war-plugin私はそれについて良いことを聞いてきました。

関連する問題