exrm
を使用してPhoenix
アプリケーション(ElixirとErlangに基づく)のリリースを作成しようとしています。exrmクラッシュによるフェニックスアプリケーションリリースの実行
dev
ミックス環境の最初のリリースは正常に作成されますが、実行すると./rel/my_app/bin/my_app console
がクラッシュします。これは、Ubuntu 14.04をVagrant/Virtual Box仮想マシン内で実行している場合に発生します。
私のMacでは、同じ設定がうまく動作します。残念ながら、Ubuntuを実行するターゲットサーバと同じアーキテクチャのマシンにリリースを構築する必要があります。
ここにアプリケーションを見つけることができます:https://github.com/mavenastic/my_app。依存関係をインストールし、VM上でプロジェクトを作成する手順(STEPS.md
を参照)とErlang crash dumpを実行する手順が含まれています。
{"Kernel pid terminated",application_controller,"{application_start_failure,my_app,{{shutdown,{failed_to_start_child,'Elixir.MyApp.Endpoint',{shutdown,{failed_to_start_child,'Elixir.Phoenix.CodeReloader.Server',{undef,[{'Elixir.Mix.Project',config,[],[]},{'Elixir.Phoenix.CodeReloader.Server',init,1,[{file,\"lib/phoenix/code_reloader/server.ex\"},{line,29}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,328}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,240}]}]}}}}},{'Elixir.MyApp',start,[normal,[]]}}}"}
EDIT:
私はMIX_ENV=prod mix release
と同様に、本番環境のリリースを作成しようとしました。ここ
は、私はコンソールを実行しようとするから取得エラーです。リリースは正常に生成され、MIX_ENV=prod PORT=8889 ./rel/my_app/bin/my_app console
はうまく動作します。しかし、サーバーにpingを実行したり、リモートコンソールを起動したりすることはできません。そのため、アプリケーションが正常に動作するためにはまだ何かが失われているようです。
$ MIX_ENV=prod PORT=8889 ./rel/my_app/bin/my_app start
$ MIX_ENV=prod PORT=8889 ./rel/my_app/bin/my_app ping
=INFO REPORT==== 24-Oct-2015::10:28:25 ===
Protocol: "inet_tcp": register/listen error: econnrefused
escript: exception error: no match of right hand side value
{error,
{{shutdown,
{failed_to_start_child,net_kernel,
{'EXIT',nodistribution}}},
{child,undefined,net_sup_dynamic,
{erl_distribution,start_link,
[['[email protected]',longnames]]},
permanent,1000,supervisor,
[erl_distribution]}}}
$ ps aux | grep my_app
vagrant 2572 0.0 0.0 7532 96 ? S 10:28 0:00 /vagrant/my_app/rel/my_app/erts-7.1/bin/epmd -daemon
vagrant 2575 0.0 0.2 9448 2256 pts/0 S+ 10:28 0:00 grep --color=auto my_app
$ MIX_ENV=prod PORT=8889 ./rel/my_app/bin/my_app remote_console
$
また、私が集めたものから、私もdev
のリリースやその他の環境を作成することができるはずです。欠けている部分が両方の環境に影響する可能性があります。
ありがとうございます!
@whatyouhideさんの回答ありがとうございます。私が理解しているところから、私は 'dev'環境用のリリースを作ることができるはずです。[here](http://hashnuke.com/2015/07/19/convenience-hacks-for-using-exrm-with参照) -phoenix-apps.html)。私は 'prod'のリリースを作成し、その結果を知ってもらいます。 – mavenastic
私のedit @whatyouhideをご覧ください。 – mavenastic