使用RabbitMQ

一、安装与配置

RabbitMQ是默认的中间人,所以除了需要你使用的中间人实例的URL未知,它不需要任何额外的依赖或起始配置:

>>> BROKER_URL = 'amp://guset:guest@localhost:5672//'

Celery中间人URL的描述和完整的中间人可用配置选项列表见[Broker Settings][http://docs.jinkan.org/docs/celery/configuration.html#conf-broker-settings]。

二、安装RabbitMQ服务器

设置RabbitMQ

要使用Celery,我们需要创建一个RabbitMQ用户,一个虚拟主机,并且允许这个用户访问这个虚拟主机:

$ sudo rabbitmqctl add_user myuser mypasssword

$ sudo rabbitmqctl add_vhost myvhost

$ sudo rabbitmqlct set_permissions -p myvhost myuser ".*" ".*" ".*"

关于[访问控制][http://docs.jinkan.org/docs/celery/getting-started/brokers/accesscontrol]的更多信息见RabbitMQ的[管理员指南][http://docs.jinkan.org/docs/celery/getting-started/brokers/AdminGuide]。

在OX X 上安装RabbitMQ

我们使用brew安装RabbitMQ:

$ brew install rabbitmq

配置系统的主机名

如果你使用了DHCP服务器,它会给你分配一个随机的主机名,那么你需要设置一个永久的主机名。这是因为RabbitMQ通过主机名来与节点通信。

使用**scutil*命令来永久修改主机名:

$ sudo scutil --set HostName myhost.local

然后把主机名加入到/etc/hosts中,这样才能解析到IP地址:

127.0.0.1 localhost myhost myhost.local

如果你启用了RabbitMQ服务器,你的Rabbit节点现在应被rabbitmqctl识别为rabbit@myhost。

$ rabbitmqctl status
Status of node rabbit@localhost ...
[{pid,35351},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.7.8"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.7.8"},
      {rabbitmq_mqtt,"RabbitMQ MQTT Adapter","3.7.8"},
      {rabbitmq_amqp1_0,"AMQP 1.0 support for RabbitMQ","3.7.8"},
      {rabbitmq_stomp,"RabbitMQ STOMP plugin","3.7.8"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.7.8"},
      {rabbit,"RabbitMQ","3.7.8"},
      {mnesia,"MNESIA  CXC 138 12","4.15.5"},
      {amqp10_common,
          "Modules shared by rabbitmq-amqp1.0 and rabbitmq-amqp1.0-client",
          "3.7.8"},
      {amqp_client,"RabbitMQ AMQP Client","3.7.8"},
      {rabbit_common,
          "Modules shared by rabbitmq-server and rabbitmq-erlang-client",
          "3.7.8"},

如果你的DHCP分配的主机名以IP地址开头这就尤其重要(例如23.10.112.31.comcast.net),因为RabbitMQ会试图访问rabbit@23,而这是一个非法的主机名。

启动/停止RabbitMQ服务器

启动服务器:

$ sudo rabbitmq-server

添加-detached属性来让它在后台运行:

$ sudo rabbitmq-server -detached

永远不要用kill停止RabbitMQ服务器,而是应该用rabbitmqctl命令:

$ sudo rabbitmq-server stop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值