मैं exrm
का उपयोग कर स्टॉक Phoenix
एप्लिकेशन (एलिक्सीर और एर्लांग पर आधारित) की एक रिलीज बनाने की कोशिश कर रहा हूं।एक्सआरएम दुर्घटनाओं के साथ फीनिक्स एप्लिकेशन रिलीज चलाना
dev
मिश्रण पर्यावरण के लिए पहली रिलीज ठीक बनाई गई है, लेकिन ./rel/my_app/bin/my_app console
का उपयोग करते समय क्रैश हो जाती है। यह एक Vagrant/वर्चुअल बॉक्स आभासी मशीन के अंदर उबंटू 14.04 चल रहा है।
मेरे मैक पर, वही सेटअप ठीक चलाता है। दुर्भाग्यवश, मुझे एक ही आर्किटेक्चर के साथ एक मशीन पर रिलीज बनाने की जरूरत है जो लक्ष्य सर्वर के रूप में है, जो उबंटू चलाएगा।
आप यहां आवेदन कर सकते हैं: https://github.com/mavenastic/my_app। इसमें निर्भरताओं को स्थापित करने और वीएम पर परियोजना बनाने के लिए किए गए कदम शामिल हैं (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,[]]}}}"}
संपादित करें:
मैं MIX_ENV=prod mix release
साथ साथ ही उत्पादन वातावरण के लिए एक रिलीज बनाने की कोशिश की
यहाँ त्रुटि मैं सांत्वना चलाने का प्रयास से मिलता है। रिलीज सफलतापूर्वक जेनरेट किया गया है और MIX_ENV=prod PORT=8889 ./rel/my_app/bin/my_app console
ठीक चलाता है। हालांकि, मैं सर्वर को पिंग नहीं कर सकता और न ही इसे शुरू होने के बाद रिमोट कंसोल चला सकता है, इसलिए ऐसा लगता है कि एप्लिकेशन को ठीक से चलाने के लिए अभी भी कुछ याद आ रही है।
$ 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 के लिए धन्यवाद। जो मैं समझता हूं, उससे मुझे 'देव' पर्यावरण के लिए एक रिलीज बनाने में सक्षम होना चाहिए, [यहां] देखें (http://hashnuke.com/2015/07/19/convenience-hacks-for-using-exrm-with -phoenix-apps.html)। मैं 'प्रोड' के लिए रिलीज बनाने की कोशिश करूंगा और आपको परिणाम बता दूंगा। – mavenastic
कृपया मेरा संपादन @whatyouhide देखें। – mavenastic