Documentation

You are viewing the documentation for the 2.2.x release series. The latest stable release series is 2.4.x.

§追加設定

アプリケーションを本番モードで実行するときに、任意の設定を上書きすることができます。このセクションでは、この「追加設定」のよくあるユースケースを紹介します。

これらすべての追加設定は Java のシステムプロパティを使って指定しているため、Play によって生成された起動スクリプトを利用している場合は、そのまま使用することができます。

§HTTP サーバーのアドレスとポートを指定する

HTTP ポートとアドレスの両方を指定することができます。デフォルトはポート 9000 、アドレス 0.0.0.0 (全てのアドレス)です。

$ /path/to/bin/<project-name> -Dhttp.port=1234 -Dhttp.address=127.0.0.1

この設定はデフォルトの組み込み Netty サーバだけが利用します。

§JVM の起動オプションを指定する

start スクリプトに JVM の起動オプションを指定することができます。指定しなかった場合は、 JVM のデフォルト設定が利用されます。

$ /path/to/bin/<project-name> -J-Xms128M -J-Xmx512m -J-server

便宜上、メモリの最小値、最大値、パーマネント領域や ReservedCodeCacheSize を一度に設定することもできます; これらの値は (メモリの最大値を表す) 与えられた引数を元に計算式を使って決定されます:

$ /path/to/bin/<project-name> -mem 512 -J-server

§代替の設定ファイルを指定する

デフォルトで読み込まれる設定ファイルはクラスパス上の application.conf です。必要に応じて、別の設定ファイルを指定することができます。

§-Dconfig.resource を使う

アプリケーションのクラスパスで代替の設定ファイルを検索します。(普通はこのような代替の設定ファイルを、パッケージング前にアプリケーションの conf/ ディレクトリに入れておくとよいでしょう。) Play は conf/ ディレクトリを検索するので conf/ を加える必要はありません。

$ /path/to/bin/<project-name> -Dconfig.resource=prod.conf

§-Dconfig.file を使う

アプリケーションのバイナリにパッケージングされていない、ファイルシステム上の設定ファイルを指定することができます。

$ /path/to/bin/<project-name> -Dconfig.file=/opt/conf/prod.conf

§-Dconfig.url を使う

任意の URL を指定して、設定ファイルをロードすることができます。

$ /path/to/bin/<project-name> -Dconfig.url=http://conf.mycompany.com/conf/prod.conf

このとき、prod.conf に次のように include 命令を記述すると、元の設定ファイルを参照できます。

include "application.conf"

key.to.override=blah

§特定の設定キーを上書きする

設定ファイル全体を置き換えたいのではなく、いくつかの設定値キーを上書きできればよい、ということもあるでしょう。その場合は、 Java のシステムプロパティを利用して次のようにします。

$ /path/to/bin/<project-name> -Dapplication.secret=verysecretkey -Ddb.default.password=toto

§環境変数を使う

application.conf から環境変数を参照することができます。

my.key = defaultvalue
my.key = ${?MY_KEY_ENV}

フィールドを上書きする my.key = ${?MY_KEY_ENV} という記述をしました。これは、MY_KEY_ENV という値がない場合は単に無かった事にされます。しかし、MY_KEY_ENV という環境変数が設定されている場合は、環境変数の方が利用されます。

§logback の設定ファイルを変更する

§カスタムの logback 設定ファイルをアプリケーションにバンドルする

application-logger.xml という代理の logback 設定ファイルを作成し <app>/conf にコピーします。

システムプロパティを使って別の logback 設定ファイルを指定することができます。設定ファイルが指定されなかった場合、play は本番モードにおいてデフォルトの logger.xml を使用することを覚えておいてください。これは application.conf にて設定したあらゆるログレベルが上書きされることを意味しています。常に自身の application-logger.xml を指定するのが良いプラクティスです。

§-Dlogger.resource を使う

別の logback 設定ファイルをクラスパスから読み込みことができます。

$ /path/to/bin/<project-name> -Dlogger.resource=conf/prod-logger.xml

§-Dlogger.file を使う

別の logback 設定ファイルをファイルシステムから読み込むことができます。

$ /path/to/bin/<project-name> -Dlogger.file=/opt/prod/prod-logger.xml

§-Dlogger.url を使う

別の logback 設定ファイルを URL から読み込むことができます。

$ /path/to/bin/<project-name> -Dlogger.url=http://conf.mycompany.com/logger.xml

§RUNNING_PID のパスを変更する

起動したアプリケーションのプロセス id を含むファイルのパスを変更することができます。通常、このファイルは play プロジェクトのルートディレクトリに配置されますが、/var/run のような再起動時に自動的にクリアされる場所に配置するのが賢明です:

$ /path/to/bin/<project-name> -Dpidfile.path=/var/run/play.pid

このディレクトリが存在し、Play アプリケーションを実行しているユーザーが書き込み権限を持っていることを確認してください。

このファイルを使うことで、例えば以下のようにして kill コマンドを使ってアプリケーションを停止することができます:

$ kill $(cat /var/run/play.pid)

Next: フロントエンド HTTP サーバの設定


このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。