1.rabbitmq是有erlang开发的,所以首先要先安装erlang

rpm -ivh erlang-18.1-1.el7.centos.x86_64.rpm

rpm -ivh rabbitmq-server-3.6.6-1.el7.noarch .rpm

安装rabbimq时提示依赖包socat未安装

yum -y install socat

安装完成后执行service rabbitmq-server start开启服务

2.使用python测试一下

python使用rabbitmq需要安装pika类库,我们可以使用pip安装pika,pip是python的软件管理包

安装pip

wget https://bootstrap.pypa.io/get-pip.py

python get-pip.py

安装pika

pip install pika

源代码参考原文http://blog.csdn.net/fgf00/article/details/52872730

创建send.py

#!/usr/bin/python

import pika # 建立一个实例

connection = pika.BlockingConnection( pika.ConnectionParameters('localhost',5672) # 默认端口5672,可不写 )

# 声明一个管道,在管道里发消息

channel = connection.channel()

# 在管道里声明queue

channel.queue_declare(queue='hello')

# RabbitMQ a message can never be sent directly to the queue,it always needs to go through an exchange.

channel.basic_publish(exchange='', routing_key='hello', # queue名字 body='Hello World!')

# 消息内容

print(" [x] Sent 'Hello World!'")

connection.close() # 队列关闭

创建receive.py

import pika

import time

# 建立实例

connection = pika.BlockingConnection(pika.ConnectionParameters( 'localhost'))

# 声明管道

channel = connection.channel()

# 为什么又声明了一个‘hello’队列? # 如果确定已经声明了,可以不声明。但是你不知道那个机器先运行,所以要声明两次。

channel.queue_declare(queue='hello')

def callback(ch, method, properties, body): # 四个参数为标准格式

  print(ch, method, properties) # 打印看一下是什么

  # 管道内存对象 内容相关信息 后面讲

  print(" [x] Received %r" % body)

  time.sleep(15)

  ch.basic_ack(delivery_tag = method.delivery_tag) # 告诉生成者,消息处理完成

channel.basic_consume( # 消费消息

  callback, # 如果收到消息,就调用callback函数来处理消息

  queue='hello', # 你要从那个队列里收消息

  # no_ack=True # 写的话,如果接收消息,机器宕机消息就丢了 # 一般不写。宕机则生产者检测到发给其他消费者

)

print(' [*] Waiting for messages. To exit press CTRL+C')

channel.start_consuming() # 开始消费消息

执行python send.py,输出

[x] Sent 'Hello World!'

执行rabbitmqctl list_queues,输出

Listing queues ...
hello 1

执行python receive.py,输出

[*] Waiting for messages. To exit press CTRL+C
(<pika.adapters.blocking_connection.BlockingChannel object at 0x1cbc510>, <Basic.Deliver(['consumer_tag=ctag1.bde4b3712fa64fccb5677c4fb420c35a', 'delivery_tag=1', 'exchange=', 'redelivered=False', 'routing_key=hello'])>, <BasicProperties>)
[x] Received 'Hello World!'

centOS7安装RabbitMQ及python实例的更多相关文章

  1. centos7安装rabbitmq 总结

    centos7下安装rabbitmq 折腾了三天最后做了以下总结 先查看一电脑名  :示例 #hostname name 查看一下hosts配置文件:如果如下结果,就要修改下 #cat /etc/ho ...

  2. Centos7安装RabbitMQ解决Erlang依赖报错

    通过yum等软件仓库都可以直接安装RabbitMQ,但版本一般都较为保守. RabbitMQ官网提供了新版的rpm包(http://www.rabbitmq.com/download.html),但是 ...

  3. centos7 安装 rabbitmq

    主题 因为自己学习项目可能会用到rabbitmq..我又是第一次学习.以前没安装过.所以简单记录下我在centos7环境下安装rabbitmq的过程步骤,下次可以参考. 步骤 1.杂七杂八的东西 安装 ...

  4. Centos7 安装rabbitmq(转载)

    原文地址:http://blog.csdn.net/wenyu826/article/details/71108279 安装Erlang 从链接https://packages.erlang-solu ...

  5. CentOS7安装RabbitMQ,并设置远程访问

      如果网速慢 可以直接到百度云分享中下载,然后拉到centerOS中,进行第二步即可    两个人安装包地址,提取码:z1oz 1.安装erlang环境 wget http://www.rabbit ...

  6. CentOS7安装rabbitmq集群(二进制)

    一.RabbiMQ简介 RabbiMQ是用Erang开发的,集群非常方便,因为Erlang天生就是一门分布式语言,但其本身并不支持负载均衡. RabbiMQ模式 RabbitMQ模式大概分为以下三种: ...

  7. Centos7安装RabbitMQ详细教程

    MQ引言 什么是MQ MQ:message Queue翻译为消息队列,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息.因为消息的生产和消费都是一部的,而且只关心消息的 ...

  8. Centos7 安装RabbitMQ 3.6.1

    如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Centos7,为了保证对linux不太熟悉的伙伴也能轻松上手(避免折在安装的路上),下面是 ...

  9. 安装rabbitmq以及python调用rabbitmq--暂欠

    一.安装erlang yum install erlang 二.安装rabbitmq rpm包: wget http://www.rabbitmq.com/releases/rabbitmq-serv ...

随机推荐

  1. 浅谈密码加SALT原理(转载)

    原文出处:http://www.2cto.com/Article/201201/117051.html 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例 ...

  2. 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 4

    网络调试工具 tcpdump 功能:打印指定网络接口中与布尔表达式匹配的报头信息 关键字: ①类型:host(默认).net.port host 210.27.48.2 //指明是一台主机 net 2 ...

  3. 在vc6里头文件sys/timeb.h里struct timeb各变量的具体含义?

    timeb的定义:struct _timeb{         time_t time;          unsigned short millitm;          short timezon ...

  4. JavaScript js 兼容浏览器问题 兼容Fire

    做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们程序员去兼容他们,不然有些浏览器就无法运行我们的代码.就会造来客户的投诉,如果让BoSS知道了, ...

  5. MVC中AuthorizeAttribute用法并实现授权管理

    1.创建一个类(用来检查用户是否登录和用户权限)代码如下 public class MemberCheckAttribute : AuthorizeAttribute { //AuthorizeAtt ...

  6. AC日记——Broken BST codeforces 797d

    D - Broken BST 思路: 二叉搜索树: 它时间很优是因为每次都能把区间缩减为原来的一半: 所以,我们每次都缩减权值区间. 然后判断dis[now]是否在区间中: 代码: #include ...

  7. 我从16ASPX上下了一个程序在运行时出错是怎么回事?运行时出现用户SA登陆失败,但是我已经把数据库导入SQL

    如果你账号密码正确,那你可能没有打开你的管线服务,或者没有配置好你的客户端

  8. 51nod 1101 换零钱 【完全背包变形/无限件可取】

    1101 换零钱  基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 ...

  9. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 B题 跳一跳,很简单的(字符串Hash + 树上路径倍增)

    题目链接  2018广东工业大学校赛  Problem B 考虑到每条边的权值变化$26$个时刻之后一定会回到原来的状态. 那么预处理出前$26$个时刻每棵树的形态,对每棵树做一遍字符串哈希. 查询的 ...

  10. 玩转Nuget服务器搭建(二)

    之所以分开来写这几部分,是因为今天搭建的过程中,碰到了几个问题,特别提一下,让大家省下这部分时间(毕竟人生苦短嘛,你如果就是闲的蛋疼,请给我你的GUID,我送你几瓶风油精). NugetServer ...