Comment on page
使用RabbitMQ
RabbitMQ 是默认的中间人(Broker),只需要配置连接的URL即可,不需要安装额外的的配置以及初始化配置信息
broker_url = 'amqp://myuser:mypassword@localhost:5672/myvhost'
有关 Celery 各种中间人(Broker)的配置列表,请查阅代理设置,并且按照说明设置用户名和密码。
如果在安装 RabbitMQ 后,使用 rabbitmqctl 出现 nodedown 错误信息,可以查阅这片文章解决问题:
要使用 Celery,需要创一个RabbitMQ账户:
$ 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 ".*" ".*" ".*"
修改myuser、mypassword、myvhost为自己配置的配置信息。
$ sudo ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后通过 **brew **进行安装 RabbitMQ :
$ brew install rabbitmq
使用 **brew **安装 RabbitMQ 之后需要,将以下代码添加到环境变量(bash_profile或/etc/profile)中,方便针对中间人(Broker)的管理:
PATH=$PATH:/usr/local/sbin
如果您使用的 DHCP 随机分配的主机名称,需要重新永久化配置主机名称。因为 RabbitMQ 是使用主机名与各个节点进行通信的。
可以使用 **scutil **命令进行永久配置主机名
$ sudo scutil --set HostName myhost.local
然后将主机名添加到 /etc/hosts 中,以便进行解析
127.0.0.1 localhost myhost myhost.local
如果您的 rabbitmq-server 已经在运行,您的节点名称现在应该是 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将尝试用 raabit@23 :非法的用户名。
启动服务:
$ sudo rabbitmqctl-server
也可以通过添加
-detached
参数在后台运行:$ sudo rabbitmqctl-server -detached
永远不要通过 **kill **命令来进行停止 RabbitMQ 运行,使用
rabbitmqctl
命令来进行停止 RabbitMQ :$ sudo rabbitmqctl stop
最近更新 4yr ago