在第一杯埃贾伯德比赛中,我遇到了错误。 在我的Mac(10.13.6)上,我安装了“ ejabberd-18.12.1-osx.app”,并且已遵循官方网站上的所有说明。 (https://docs.ejabberd.im/admin/installation/#install-on-macos)
安装完成后,我什么都没发现,发现错误日志如下生成。
2019-01-16 10:02:03.936 [error] <0.316.0>@ejabberd_listener:report_socket_error:417 Failed to open socket at [::]:5222 for ejabberd_c2s: address already in use
2019-01-16 10:02:03.937 [error] <0.315.0> Supervisor ejabberd_listener had child {5222,{0,0,0,0,0,0,0,0},tcp} started with ejabberd_listener:start({5222,{0,0,0,0,0,0,0,0},tcp}, ejabberd_c2s, [{ip,{0,0,0,0,0,0,0,0}},{max_stanza_size,262144},{shaper,c2s_shaper},{access,c2s},{starttls_required,...}]) at undefined exit with reason eaddrinuse in context start_error
2019-01-16 10:02:03.937 [error] <0.274.0> Supervisor ejabberd_sup had child ejabberd_listener started with ejabberd_listener:start_link() at undefined exit with reason {shutdown,{failed_to_start_child,{5222,{0,0,0,0,0,0,0,0},tcp},eaddrinuse}} in context start_error
2019-01-16 10:02:03.942 [critical] <0.81.0>@ejabberd_app:start:66 Failed to start ejabberd application: {error,{shutdown,{failed_to_start_child,ejabberd_listener,{shutdown,{failed_to_start_child,{5222,{0,0,0,0,0,0,0,0},tcp},eaddrinuse}}}}}
我完全理解“地址已在使用中”的含义,但是netstat在该端口上没有显示任何所有权。另外,我从未更改任何服务器配置。我尝试手动启动服务器,但是重复同样的错误。
此版本的Ejabberd在Mac安装上是否存在错误?
非常感谢。
答案 0 :(得分:0)
启动ejabberd时,它将使用多个端口(一些用于XMPP,其他用于其他ejabberd功能,其他用于Erlang)。请注意,某些端口可能位于IPv6中:
tcp 0 0 0.0.0.0:42859 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:4560 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:epmd 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN
tcp6 0 0 [::]:epmd [::]:* LISTEN
tcp6 0 0 [::]:xmpp-client [::]:* LISTEN
tcp6 0 0 [::]:xmpp-server [::]:* LISTEN
也许您之前在附近的其他ejabberd安装中很乱?还是其他XMPP服务器?