SSH、RabbitMQ、协议“inet_tcp”:注册/监听错误:econnrefused
Posted
技术标签:
【中文标题】SSH、RabbitMQ、协议“inet_tcp”:注册/监听错误:econnrefused【英文标题】:SSH, RabbitMQ, Protocol 'inet_tcp': register/listen error: econnrefused 【发布时间】:2019-01-08 00:57:48 【问题描述】:当我尝试在我的服务器机器上运行命令时
./rabbitmq-server
我得到以下信息:
WARNING: Removing trailing slash from RABBITMQ_LOG_BASE
Removing trailing slash from RABBITMQ_MNESIA_BASE
Protocol 'inet_tcp': register/listen error: econnrefused
背景故事: 这是我第一次尝试仅使用 ssh 安装 RabbitMQ-Server。
到目前为止我所做的一步一步是:
-
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.15.zip
解压rabbitmq-server-3.6.15.zip
nano Makefile # 将主目录中的前缀改为 rabbitMQ PREFIX ?= /home/user/rabbitmq
gmake
gmake 安装
cd ~/rabbitmq/lib/erlang/lib/rabbitmq_server-3.6.15/sbin/
导出 RABBITMQ_MNESIA_BASE=/home/user/rabbitmq/lib/erlang/lib/rabbitmq_server-3.6.15/sbin/
导出 RABBITMQ_LOG_BASE=/home/user/rabbitmq/
./rabbitmq-server
这里出现了错误。有人告诉我,也许“解锁”端口可以解决问题,但是
我不知道该怎么做 不知道是不是这样【问题讨论】:
您为什么不为您的操作系统使用最新的预打包版本?如果这不是一个选项,请使用generic-unix
包。自己编译 RabbitMQ 应该没有必要,只会引起你所看到的头痛。最后,您使用的是什么 Erlang 版本?
从下面Legoscia发布的内容来看,似乎不是RabbitMQ的失败,而是epmd。我的版本是 19
@LukeBakken IME,编译 Erlang 应用程序/项目完全没问题(而且看起来很常见)。 RabbitMQ 是不是特别难编译?
【参考方案1】:
错误Protocol 'inet_tcp': register/listen error: econnrefused
表示Erlang节点试图连接到epmd(Erlang端口映射器守护进程)注册它的名字,但是连接失败。
这不应该发生:应该在 Erlang 节点启动时启动 epmd。您可以尝试在 shell 中手动运行epmd
,看看它是否报告任何错误。
如果它显示failed to bind socket: Operation not permitted
,请检查是否有其他东西正在使用端口 4369(这是 epmd 尝试侦听的端口)。
【讨论】:
你好,运行 epmd 给我错误 [user@xxx]:$ epmd epmd: Wed Aug 1 11:51:19 2018: failed to bind socket: Operation not allowed 对,这就是问题的根源。不知道为什么它没有权限监听端口。它正在使用端口 4369,这不是特权端口... 我不知道究竟是为什么,但似乎我的 4369 端口,即使未在 netstat 中列出,也被某些东西使用/阻止了。释放这个端口解决了这个问题,所以这是正确的答案。非常感谢。 我知道我迟到了,但尝试杀死杀毒软件,对我来说这是 AVG 阻塞了端口以上是关于SSH、RabbitMQ、协议“inet_tcp”:注册/监听错误:econnrefused的主要内容,如果未能解决你的问题,请参考以下文章