Elixir phoenix框架部署问题

Elixir phoenix框架部署问题,elixir,phoenix-framework,conform,exrm,Elixir,Phoenix Framework,Conform,Exrm,我正在尝试使用exrm和conform部署Phoenix应用程序。在本地Ubuntu上测试该版本。但当我在服务器上运行相同的程序时,会出现故障。我无法理解确切的原因 {error_logger,{2016,1,30},{7,45,44},“协议:~tp:register/listen error:~tp~n”,[“inet_tcp”,etimedout]} {{错误{{错误{错误{日志记录者,{{2016,1,30},{7,45,44}},{7,45,44},{{7,45,44},5}错误{7,

我正在尝试使用exrm和conform部署Phoenix应用程序。在本地Ubuntu上测试该版本。但当我在服务器上运行相同的程序时,会出现故障。我无法理解确切的原因

{error_logger,{2016,1,30},{7,45,44},“协议:~tp:register/listen error:~tp~n”,[“inet_tcp”,etimedout]} {{错误{{错误{错误{日志记录者,{{2016,1,30},{7,45,44}},{7,45,44},{{7,45,44},5}错误{7,45,44},{{2016,1,1,1,30},{7,45,45},崩溃报告,崩溃报告,[{{{{初始{初步的电话调用,{net内核,内核,init{{{net内核,初始化,init,{{{{{{{0.5.5.5.5}{{{{{{{{{0内核,内核,初始化,{0内核,init,{内核,init,},},},},},{{{{{net内核,init,{内核,init,{内核,初始化,init,},},{内核,init,{内核,初始化,init,init,{240}]}]}},{祖先,[net_-sup,kernel_-sup,]},{消息,[]},{链接,[#Port,]},{dictionary,[{longnames,true}]},{trap#u exit,true},{status,running},{heap_size,987},{stack_size,27},{reducements,842},]} {error\u logger,{2016,1,30},{7,45,44},supervisor\u report,[{supervisor,{local,net\u sup},{errocontext,start\u error},{reason,{EXIT',nodistribution},{infactor,[{pid,undefined},{id,net\u kernel},{mfargs,{net\u kernel start\u linkapp@127.0.0.1“,longnames]]},{restart_type,permanent},{shutdown,2000},{child_type,worker}]} {{{错误(错误)记录者,{{2016年,1,30},{7,45,44},{{7,45,44},{{7,45,45,44},{7,45,45,44},{7,45,45,44,44},监督报告,监督报告,[{{监督,{监督,{当地,内核,内核,内核,内核,内核,当地,内核,内核,内核,内核,内核,内核,内核,内核,}},},},,{{{{{{{{{当地,地方,内核,内核,内核,当地,内核,内核,内核,内核,内核,内核,内核,内核,内核,内核,内核,内核,内核,内核,},},},},},},},},},{,,{,{,{,{,{{,},},{,{{{,{{,{{,{{,{{,},{]}]} {{错误(错误)日志记录者,{{2016,1,30},{7,45,44}},{7,45,44},{7,45,44},{{{0 0{错误(错误)的错误(错误)日志记录者,{{2016,1,1,1,1,30},{7,45,45,45,44},},崩溃报告,崩溃报告,崩溃报告,[{{{{{初始的电话调用调用,{应用程序主人,应用程序主人,启动,{应用程序主人,init,{主人,init,{应用程序主人,init,{主人,init,{主人,init,{应用程序主人,init,['门门门门门门门门控,['申请申请申请者,[''申请者,元元元元元元元元元元元元凶,元元元元元元凶,元元元元元凶,元元元元元元元元元元[normal,[]}[{application_master,init,4,[{file,“application_master.erl”},{line,134}},{proc_lib,init_p_do_apply,3,[{file,“proc_lib.erl”},{line,240}]},{祖先,[{消息,['EXIT',normal normal}},},{链接,[,]},{字典,[]},{陷阱},退出,真实状态,{status,运行},{大小,堆栈大小,堆栈大小,堆栈大小,{117},{ {错误日志,{2016,1,30},{7,45,44},标准信息,[{应用程序,内核},{退出,{关闭,{启动失败}子系统,网络支持,{关闭,{启动失败}子系统,网络内核,{EXIT',节点分发}},{内核,启动,{正常,[]},{类型,永久} {“内核pid终止”,应用程序控制器,{application_start_failure,内核,{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_Kernel,{EXIT',nodistribution}}},{Kernel start,[normal,[]}}


崩溃转储正在写入:erl_Crash.dump…内核pid终止(应用程序控制器)({application_start_failure,内核,{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_Kernel,{EXIT',nodistribution},{k

错误原因通常在错误和崩溃的第一行:

{error_logger,{{2016,1,30},{7,45,44}},"Protocol: ~tp: register/listen error: ~tp~n",["inet_tcp",etimedout]}...

({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}}...
启动过程中,打开侦听套接字时出现错误,超时
etimedout
。这可能是由以下两个原因造成的:

  • 您的应用程序已在运行,无法打开同一端口两次
  • 存在防火墙限制-检查iptables,尤其是端口4399(Erlang端口映射程序守护程序)
  • 你的应用没有打开该端口的权限
iex
使用
dev
环境启动应用程序,而
exrm
使用
prod
。 比较您的
dev
prod
设置。可能定义了不同的端口。请尝试使用
iex
运行应用程序,但要使用
prod
环境

MIX_ENV=prod iex -S mix phoenix.server

请记住,生成的版本在创建过程中对所有配置值进行了评估并进行了硬编码。

iptables问题。我已经添加了端口,但没有重新启动iptables创建彻底的应答@tkowal!Kudos!