用Python尝试RabbitMQ

测试环境1:win7

测试环境2:ubuntu10.04

 

安装Erlang环境

1、下载: http://erlang.org/download.html 

自己根据需要下载源码包或win的二进制包

2、安装:

windows环境就没啥好说的了,一路next~

主要说下linux环境,其实我用的ubuntu10.04已经预装了erlang,版本是RB13B03,但是貌似不支持最新版的RabbitMQ

对于想使用最新版RabbitMQ或还没有安装erlang环境的童鞋,需要重新安装下最新版的erlang

目前Erlang官方最新版本是R14A, 首先需要先安装一些依赖包

 

sudo apt-get install build-essential 

sudo apt-get install libncurses5-dev 

sudo apt-get install m4 

sudo apt-get install libssl-dev

sudo apt-get install libc6

sudo apt-get install unixODBC

sudo apt-get install unixODBC-devel

sudo apt-get install gcj -----------------》好几十兆,主要用于java,暂时对我没用,所以我没装它:P

正式开始装了

./configure --without-javac ----------》因为我没有安装gcj,所以configure时关闭了javac选项

make 

sudo make install

没意外的话erlang就装完了,可以用whereis erlang看一下

 

安装RabbitMQ

ubuntu用户的话其实可以直接使用apt-get自动化搞定

sudo apt-get install rabbitmq-server

安装完毕后会自动启动服务,一切就这么简单:)
下面说下一般方法

 

1、下载:http://www.rabbitmq.com/server.html

普通linux用户建议下载普通源码包 Packaged for generic Unix systems

windows用户就直接下载windows包 Packaged for Windows systems

2、安装(linux&windows):

其实RabbitMQ现在已经算是个绿色软件,免安装

一般建议解压后,直接把整个目录拷贝到erlang的lib下

3、运行(linux&windows):

rabbitmq中sbin目录下是相关的工具脚本

通过执行该脚本即可运行(非守护)

【linux】sudo rabbitmq_server-1.8.1/sbin/rabbitmq-server

【windows】rabbitmq_server-1.8.1/sbin/rabbitmq-server.bat

关于windows用户:

1、需要设置环境变量ERLANG_HOME为erlang的根目录(具体就不用细说了吧~)

2、若需服务方式运行可以使用rabbitmq-service.bat进行安装服务(win7用户注意权限问题)

 

 

安装py-amqplib

正如那篇《[RabbitMQ+Python入门经典] 兔子和兔子窝》所说

根据你的需求,py-amqplib或者txAMQP都是可以的。因为是基于Twisted的,txAMQP可以保证用异步IO构建超高性能的AMQP程序。但是Twisted编程本身就是一个很大的主题……因此清晰起见,我们打算用 py-amqplib。

1、下载:http://barryp.org/software/py-amqplib/

2、安装:

非常easy,解压后进入目录直接

【linux】sudo ./setup.py install
【windows】python setup.py install

欧了,安装完毕,可以在python中import了:)

 

简单Demo测试

 

py-amqplib中带有简单的demo,在amqplib-0.6/demo中,我们先用这俩测试下消息的发送和接受

 

demo_receive.py -------------------》消息消费者

demo_send.py ----------------------》消息生产者

运行RabbitMQ后,先运行 ./demo_receive.py,创建Broker(其实就是交换机和队列啦)

接着另开一终端,运行 ./demo_send.py "hello, Linvo"

哇,在第一个终端显示出来了,好神奇啊~~~

 

运行时可以指定RabbitMQ的host、userid、password等参数,默认host是本机,userid和password都是guest

自己可以通过rabbitmqctl工具来删除、新建用户,并设置权限等

./rabbitmqctl delete_user guest -------》删除默认的guest用户

./rabbitmqctl add_user linvo 111 ---------》添加新用户linvo,密码111

./rabbitmqctl set_permissions -p / linvo ".*" ".*" ".*" -----------》设置linvo在/的虚拟主机的权限和之前的guest一样

PS:暂时没弄懂明白具体的权限正则规则 囧@&^%$…… 

再测试就改这样了

 

./demo_receive.py -u linvo -p 111

./demo_send.py -u linvo -p 111 "hello,Linvo"

 

rabbitmqctl的更多功能可参考官方文档 http://www.rabbitmq.com/rabbitmqctl.1.man.html,或者自行google:P

 

DIY Demo测试

自己也依葫芦画瓢了一个:D
receive.py

 

send.py

 

发送消息

 

接收消息

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值