Sed openshift上的ejabberd-到节点的RPC连接失败

Sed openshift上的ejabberd-到节点的RPC连接失败,sed,xmpp,ejabberd,openshift,Sed,Xmpp,Ejabberd,Openshift,我正在尝试在openshift的DIY盒带上配置ejabberd,请遵循以下指南: 我成功地跟踪了一切直到这里: 接下来,您可以启动ejabberd,运行以下两个命令,这两个命令将放在.openshift/action\u hooks/start脚本中 没有错误,ejabberd似乎已启动,但下一个命令: $OPENSHIFT_DATA_DIR/erl_home/sbin/ejabberdctl register admin localhost password1234 失败,出现以下错误:

我正在尝试在openshift的DIY盒带上配置ejabberd,请遵循以下指南:

我成功地跟踪了一切直到这里:

接下来,您可以启动ejabberd,运行以下两个命令,这两个命令将放在.openshift/action\u hooks/start脚本中

没有错误,ejabberd似乎已启动,但下一个命令:

$OPENSHIFT_DATA_DIR/erl_home/sbin/ejabberdctl register admin localhost password1234
失败,出现以下错误:

Failed RPC connection to the node ‘ejabberd@127.7.131.1′: {‘EXIT’, {badarg, [{ets,lookup, [local_config, ejabberdctl_access_commands], []}, {ejabberd_config, get_local_option, 1, [{file, "ejabberd_config.erl"}, {line,590}]}, {ejabberd_ctl, get_accesscommands, 0, [{file, "ejabberd_ctl.erl"}, {line,236}]}, {ejabberd_ctl, process,1, [{file, "ejabberd_ctl.erl"}, {line,199}]}, {rpc, ‘-handle_call_call/6-fun-0-’, 5, [{file, "rpc.erl"}, {line,205}]}]}}

Commands to start an ejabberd node: start Start an ejabberd node in server mode debug Attach an interactive Erlang shell to a running ejabberd node live Start an ejabberd node in live (interactive) mode

Optional parameters when starting an ejabberd node: –config-dir dir Config ejabberd: /var/lib/openshift/52c9674d5973ca7734000180/app-root/data//erl_home/etc/ejabberd –config file Config ejabberd: /var/lib/openshift/52c9674d5973ca7734000180/app-root/data//erl_home/etc/ejabberd/ejabberd.cfg –ctl-config file Config ejabberdctl: /var/lib/openshift/52c9674d5973ca7734000180/app-root/data//erl_home/etc/ejabberd/ejabberdctl.cfg –logs dir Directory for logs: /var/lib/openshift/52c9674d5973ca7734000180/app-root/data//erl_home/var/log/ejabberd –spool dir Database spool dir: /var/lib/openshift/52c9674d5973ca7734000180/app-root/data//erl_home/var/lib/ejabberd –node nodename ejabberd node name: ejabberd@127.7.131.1
我不确定是什么原因导致错误。。。它似乎正在尝试连接到本地主机(由于节点名:ejabberd@127.7.131.1). 但是,我从博客上以前的命令中获得了
sed
每个本地主机的气味


以前有人见过这个吗?任何关于如何调试的线索都非常感谢,因为我不太熟悉openshift或ejabberd以及linux。。。提前非常感谢

您需要使用您的主机而不是本地主机运行

$OPENSHIFT_DATA_DIR/erl_home/sbin/ejabberdctl register admin <replacewithyourhost> password1234  
$OPENSHIFT\u DATA\u DIR/erl\u home/sbin/ejabberdctl寄存器管理密码1234

我写了这篇博文,在我创建的一个新DIY应用程序上看到了这个错误。这是由于openshift框中的erlang和openssl包的错误造成的。我在erlang源代码中添加了一个补丁,以便新的编译能够正常工作

导致该问题的bug就在这里:

OPENSHIFT\u DATA\u DIR/erl\u home/sbin/ejabberdctl register admin$OPENSHIFT\u DIY\u IP密码1234

但是,它也会返回错误:

 {error_logger,{{2014,1,13},{21,11,24}},"Protocol: ~tp: register/listen error: ~tp~n",["inet_tcp",econnrefused]} {error
在上面


您需要杀死所有ejabberd进程,包括epmd

有一次我遇到了这个问题,我的解决方案是编辑/etc/hosts(对于windows-C:\windows\System32\drivers\etc\hosts)文件,并确保我的公共ip地址和我希望ejabber响应的域有一个主机名条目

0.0.0.0 hostname.domain.com主机名


1.1.1.1(您的ip)your-hostname.your-domain your-hostname

谢谢你的回复,我试过:$OPENSHIFT_DATA_DIR/erl_home/sbin/ejabberdctl register admin$OPENSHIFT_DIY__ip password1234,但是它也会返回错误:{error_logger,{2014,1,13},{21,11,24},“协议:~tp:register/listen error:~tp-error:~tp~n”,“inetètcp”,econnrefused][error}{{2014年1月13日,{2014年1月1日1月13日,{21、11、24}},{21、11、11、14},{2014年1、13},{14、1、13},{21、11、11、11、24},{21、11、11、11、14},{21、21、11、11、11、11、11、24},{1、7、7、7、14、14、14、14、14、14、14、14、14、14、14、13、13、13、13、7、7、7、7、7、7、7、7、7、10、10、10、10、13、13、13、13、13、10、13、13、13、13、13、13、13、13、13、13、13、13、13、13、13、13、13、13、13、13、、{{{7、、{{21、13、{!。。。