CentOS7安装rabbit MQ

1、安装erlang
rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
yum install erlang

如果已经安装可以跳过

2、下载RabbitMQ
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

3、安装RabbitMQ
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm

如果报Requires: erlang >= R16B-03,则执行yum -y install epel-release命令(安装centos的epel的扩展源)

4、启动mq服务
service rabbitmq-server start
在这里插入图片描述
5、查看状态
service rabbitmq-server status
在这里插入图片描述
6、添加配置文件
cd /etc/rabbitmq/
vi rabbitmq.config
/etc/rabbitmq/下是没有找到配置文件,我们可以自己创建这个文件
编辑内容如下:
[{rabbit, [{loopback_users, []}]}].
意思是放开外部访问权限,rabbitmq默认的用户是guest,密码也是guest
保存配置后重启服务:
service rabbitmq-server stop
service rabbitmq-server start

7、开放5672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload

8、python代码测试
生产者:

import pika
username = 'guest'   #指定远程rabbitmq的用户名密码
pwd = 'guest'
user_pwd = pika.PlainCredentials(username, pwd)
s_conn = pika.BlockingConnection(pika.ConnectionParameters('192.168.5.94', credentials=user_pwd))#创建连接
chan = s_conn.channel()  #在连接上创建一个频道

chan.queue_declare(queue='hello') #声明一个队列,生产者和消费者都要声明一个相同的队列,用来防止万一某一方挂了,另一方能正常运行
chan.basic_publish(exchange='',  #交换机
                    routing_key='hello',#路由键,写明将消息发往哪个队列,本例是将消息发往队列hello
                    body='hello world')#生产者要发送的消息
print("[生产者] send 'hello world")
s_conn.close()#当生产者发送完消息后,可选择关闭连接

运行生产者
在这里插入图片描述
消费者

import pika

username = 'guest'#指定远程rabbitmq的用户名密码
pwd = 'guest'
user_pwd = pika.PlainCredentials(username, pwd)
s_conn = pika.BlockingConnection(pika.ConnectionParameters('192.168.5.94', credentials=user_pwd))#创建连接
chan = s_conn.channel()#在连接上创建一个频道

chan.queue_declare(queue='hello')#声明一个队列,生产者和消费者都要声明一个相同的队列,用来防止万一某一方挂了,另一方能正常运行


def callback(ch,method,properties,body): #定义一个回调函数,用来接收生产者发送的消息
    print("[消费者] recv %s" % body)

chan.basic_consume(callback,  #调用回调函数,从队列里取消息
                   queue='hello',#指定取消息的队列名
                   no_ack=True) #取完一条消息后,不给生产者发送确认消息,默认是False的,即  默认给rabbitmq发送一个收到消息的确认,一般默认即可
print('[消费者] waiting for msg .')
chan.start_consuming()#开始循环取消息

运行消费者
在这里插入图片描述
到此rabbitmq安装成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈希哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值