如何停止本地主机上的RabbitMQ服务器

64

我在 OS X 上安装了 RabbitMQ 服务器,并在命令行中启动它。现在,我不知道应该如何停止它运行? 我已经执行了以下操作:

sudo rabbitmq-server -detached

我得到:

Activating RabbitMQ plugins ...
0 plugins activated:

就是这样了。我应该如何正确地关闭它?文档中提到要使用 rabbitmqctl(1),但是我不清楚这意味着什么。谢谢。

编辑:根据下面的评论,运行 sudo rabbitmqctl stop 后,我得到了这个:

(project_env)mlstr-1:Package mlstr$ sudo rabbitmqctl stop
Password:
Stopping and halting node rabbit@h002 ...
Error: unable to connect to node rabbit@h002: nodedown

DIAGNOSTICS
===========

nodes in question: [rabbit@h002]

hosts, their running nodes and ports:
- h002: [{rabbit,62428},{rabbitmqctl7069,64735}]

current node details:
- node name: rabbitmqctl7069@h002
- home dir: /opt/local/var/lib/rabbitmq
- cookie hash: q7VU0JjCd0VG7jOEF9Hf/g==

为什么仍然有一个“当前节点”?我没有运行任何客户端程序,只运行了RabbitMQ服务器,这是否意味着服务器仍在运行?

7个回答

90

原来问题与权限有关。我的RabbitMQ服务器以“rabbitmq”用户身份启动(这很奇怪),所以我必须执行以下操作:

sudo -u rabbitmq rabbitmqctl stop

34
在我的开发环境中,我会一直保持运行,我使用的是:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.rabbitmq.plist

并开始它

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.rabbitmq.plist

更简单的方法是....

brew services stop rabbitmq
brew services start rabbitmq

29

使用rabbitmqctl stop命令停止任何节点。如果需要指定出现问题的节点,请添加-n rabbit@[hostname]选项。


我喜欢这个答案!命令与Windows中不同,可能会让人困惑。 - themefield

2
你也可以使用RabbitMQ服务的快捷方式 - stop,如果你不喜欢使用命令。

1

停止服务
sudo systemctl stop rabbitmq-server

启动服务
sudo systemctl start rabbitmq-server


0

对于Windows系统,请使用管理员权限运行PowerShell,然后执行以下命令:

.\rabbitmq-service.bat stop

stop 停止服务。该命令只有在服务正在运行时才会生效。

https://www.rabbitmq.com/man/rabbitmq-service.8.html


对于楼上的回答,事实证明它与权限有关。我对此一无所知。

0

针对Mac用户

停止操作

brew services stop rabbitmq

开始

brew services start rabbitmq

重新启动

brew services restart rabbitmq

了解服务器的状态

brew services info rabbitmq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接