安装和配置

RabbitMQ是默认的broker,仅需要配置你实际使用的broker实例的URL地址。

broker_url= 'amqp://user:password@localhost:5672/myvhost'

想要看完整的Broker配置选项,请参考完整配置文档,下面的部分是关于username、password和myvhost的配置。

安装RabbitMQ

在官网查看或查看下面的macOS的安装教程

[!NOTE]

如果你在安装和使用rabbitmqctl后遇到nodedown错误,那么这篇博客文章可以帮助你确定问题的根源:

http://www.somic.org/2009/02/19/on-rabbitmqctl-and-badrpcnodedown/

设置RabbitMQ

我们需要创建一个RabbitMQ user,一个vhost,并对user进行该vhost的授权。

sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl add_vhost myvhost
sudo rabbitmqctl set_user_tags myuser mytag
sudo rabbitmqctl set_permissions -p myvhost myuser ".*" ".*" ".*"

将上面的参数替换成世纪使用的值。

对于权限控制,可以参考RabbitMQ用户手册

在MacOS上安装

在macOS上安装RabbitMQ的最好方式是使用最新的软件包管理系统Homebrew。

首先,使用Homebrew官方提供的一行命令安装Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

然后,通过brew命令安装rabbitMQ。

brew install rabbitmq

安装完以后,你需要将安装路径添加到PATH中以能够正常使用。

export PATH=$PATH:/usr/local/sbin

配置系统主机名称

如果您使用的是给您随机主机名的DHCP服务器,则需要永久配置该主机名。因为RabbitMQ使用主机名与节点通信。

使用scutil命令永久设置主机名

sudo scutil --set HostName myhost.local

然后将该主机名添加到/etc/hosts中,以便可以将其解析为IP地址:

127.0.0.1       localhost myhost myhost.local

如果你启动了rabbitmq-server,你的rabbit节点现在应该是rabbit@myhost,通过rabbitmqctl验证:

sudo rabbitmqctl status
Status of node rabbit@myhost ...
[{running_applications,[{rabbit,"RabbitMQ","1.7.1"},
                    {mnesia,"MNESIA  CXC 138 12","4.4.12"},
                    {os_mon,"CPO  CXC 138 46","2.2.4"},
                    {sasl,"SASL  CXC 138 11","2.1.8"},
                    {stdlib,"ERTS  CXC 138 10","1.16.4"},
                    {kernel,"ERTS  CXC 138 10","2.13.4"}]},
{nodes,[rabbit@myhost]},
{running_nodes,[rabbit@myhost]}]
...done.

值得注意的是,如果您的DHCP服务器给您一个以IP地址开头的主机名(例如,23.10.112.31.comcast.net),RabbitMQ将尝试使用rabbit@23:一个非法的主机名,所以请别忘了配置/etc/hosts。

启动和停止RabbitMQ

启动

sudo rabbitmq-server

你可以通过添加-detache选项来实现后台运行。

sudo rabbitmq-server -detached

不要使用可kill命令来终止RabbitMQ,推荐使用rabbitmqctl

sudo rabbitmqctl stop

当启动完RabbitMQ,你可以继续进行的设置RabbitMQ的步骤。