5

所以我不断收到来自rabbitmqadmin的“连接被拒绝”。我以 root 用户身份在 vm 上运行 debian 7。我用 apt-get 安装了 rabbitmq-server,启动它并执行了以下操作:

rabbitmqctl add_user test 1234
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
rabbitmq-plugins enable rabbitmq_management

cd /usr/local/bin/
wget https://raw.githubusercontent.com/rabbitmq/rabbitmq-management/rabbitmq_v3_5_6/bin/rabbitmqadmin
chmod +x rabbitmqadmin

rabbitmqadmin -H 127.0.0.1 -u test -p 1234 list vhosts

但是对 rabbitmqadmin 的调用总是导致无法连接:[Errno 111] Connection denied

我尝试了以下方法:

  • 重新启动服务(/etc/init.d/rabbitmq-server restart/stop/start)
  • 验证通过rabbitmq-plugins 列表启用 rabbitmq-management并检查/etc/rabbitmq/enabled_plugins
  • 通过检查rabbitmqctl状态和rabbitmq日志验证了rabbitmq-management实际上是启动的
  • 删除/重新安装rabbitmq-server
  • 删除/重新安装rabbitmqadmin
  • 我检查了 127.0.0.1 实际上列在/etc/hosts

我尝试了rabbitmqadmin list users,但遇到了同样的问题。我很困惑,有什么想法吗?

注意:我不确定它是否相关,但我在安装 rabbitmq-server 时遇到了一些麻烦,我不断收到“未满足的依赖项”问题,并且运行apt-get -f install会删除我需要的一些其他软件包。我认为问题实际上来自于安装 erlang,并最终通过遍历未满足的依赖关系树并一次安装一个,直到 erlang 和 rabbitmq-server 都安装了。

另外,我在/etc/apt/sources.list中添加了“deb http://http.debian.net/debian wheezy-backports main”,所以我还尝试删除 rabbitmq-server,删除 repo,apt-get update 并重新安装 rabbitmq -服务器,还是什么都没有。

4

3 回答 3

3

在 debian 10 上,rabbitmq-server 安装了很多插件,但默认没有启用。

您可以将它们列为 root:

rabbitmq-plugins list

那么你可以:

rabbitmq-plugins enable rabbitmq_management

现在您可以以非 root 用户身份运行:

rabbitmqadmin list queues

乃至

rabbitmqadmin delete queue name=rpc_queue

我没有做特殊配置。

于 2021-06-06T13:57:25.720 回答
2

我找到了这个解决方案:

rabbitmqadmin需要与服务器的管理网站交谈。与您作为管理员使用的相同。默认值似乎是 TCP port 15672,但我使用的配置(也是 Debian,但 9)是port 8080.

我通过查看我发现这个的位置找到了管理接口在哪个端口上运行/etc/rabbitmq/rabbitmq.config

       {rabbitmq_management, [{listener, [{port, 8080},

您可能还可以尝试检查哪些开放端口属于 rabbitmq-server 并全部尝试。

最后,为了使用这些信息,我在下面为 rabbitmqadmin 创建了一个配置文件,~/.rabbitmqadmin.conf并用rabbitmqadmin help config. (删除前导空格可能很重要。)

于 2019-04-24T11:34:10.787 回答
0

只需删除:/etc/rabbitmq/rabbitmq.conf 并重新启动服务

于 2020-02-03T07:48:31.223 回答