Ejabberd 无法在 MAC 上使用 [Failed to open socket at [::]:5222]
Ejabberd does not work on MAC with [Failed to open socket at [::]:5222]
我在 Ejabberd 的第一杯中遇到了错误。
在我的 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 [错误] <0.316.0>@ejabberd_listener:report_socket_error:417 <strong>失败在 [::]:5222 为 ejabberd_c2s 打开套接字:地址已在使用 </strong>
2019-01-16 10:02:03.937 [错误] <0.315.0> 主管 ejabberd_listener 有 child {5222,{0,0,0,0,0,0,0, 0},tcp} 以 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,. ..}]) 在未定义的退出处,原因是 eaddrinuse in context start_error
2019-01-16 10:02:03.937 [error] <0.274.0> Supervisor ejabberd_sup 在未定义的出口有 child ejabberd_listener 以 ejabberd_listener:start_link() 开始原因是 {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 无法启动 ejabberd 应用程序:{error,{shutdown,{failed_to_start_child,ejabberd_listener,{关机,{failed_to_start_child,{5222,{0,0,0,0,0,0,0,0},tcp},eaddrinuse}}}}}
我完全理解 "address already in use" 的意思,但是 netstat 没有显示对该端口的任何占有。此外,我从未更改任何服务器配置。我尝试手动启动服务器,但重复出现相同的错误。
此版本的 Ejabberd 在 Mac 安装上是否存在错误?
非常感谢。
当 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 服务器?
我在 Ejabberd 的第一杯中遇到了错误。 在我的 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 [错误] <0.316.0>@ejabberd_listener:report_socket_error:417 <strong>失败在 [::]:5222 为 ejabberd_c2s 打开套接字:地址已在使用 </strong>
2019-01-16 10:02:03.937 [错误] <0.315.0> 主管 ejabberd_listener 有 child {5222,{0,0,0,0,0,0,0, 0},tcp} 以 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,. ..}]) 在未定义的退出处,原因是 eaddrinuse in context start_error
2019-01-16 10:02:03.937 [error] <0.274.0> Supervisor ejabberd_sup 在未定义的出口有 child ejabberd_listener 以 ejabberd_listener:start_link() 开始原因是 {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 无法启动 ejabberd 应用程序:{error,{shutdown,{failed_to_start_child,ejabberd_listener,{关机,{failed_to_start_child,{5222,{0,0,0,0,0,0,0,0},tcp},eaddrinuse}}}}}
我完全理解 "address already in use" 的意思,但是 netstat 没有显示对该端口的任何占有。此外,我从未更改任何服务器配置。我尝试手动启动服务器,但重复出现相同的错误。
此版本的 Ejabberd 在 Mac 安装上是否存在错误?
非常感谢。
当 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 服务器?