2

ピンポンと呼ばれる鉄筋アプリケーションがあります。rebar generateを使用してパッケージ化されたアプリケーションを起動した後./rel/pingpong/bin/pingpong start。問題は、erlang VM が常に名前を持って-name pingpong@127.0.0.1いることですが、私が望むのは、アプリケーションを名前で一度起動し、ping@127.0.0.1次に名前で起動することですpong@127.0.0.1

名前が ./rel/pingpong/releases/VSN/vm.config にあることはわかっていますが、アプリケーションを開始する前にファイルを手動で編集したくありません。のようなものが欲しいpingpong start -name=ping。これを達成する方法はありますか?

4

1 に答える 1

3

bin/pingpong スクリプトを次のように編集できます。

それ以外の

NAME_ARG=`egrep -e '^-s?name' $RUNNER_ETC_DIR/vm.args`

設定:

NAME_ARG=${NAME_ARG:-`egrep -e '^-s?name' $RUNNER_ETC_DIR/vm.args`}

このようにして、コマンド ラインからノード名をオーバーライドできます。

NAME_ARG="-name myname@localhost" bin/pingpong start

コンソール/開始コマンドの場合:

Yout 起動スクリプトで次の行を見つけます。

CMD="$BINDIR/erlexec -boot $RUNNER_BASE_DIR/releases/$APP_VSN/$BOOTFILE -mode embedded -config $CONFIG_PATH -args_file $VMARGS_PATH"

最後に $NAME_ARG を追加します。

 CMD="$BINDIR/erlexec -boot $RUNNER_BASE_DIR/releases/$APP_VSN/$BOOTFILE -mode embedded -config $CONFIG_PATH -args_file $VMARGS_PATH $NAME_ARG"

-name NAME を .args ファイルから削除することを忘れないでください

于 2012-11-19T21:55:08.217 に答える