RabbitMQ 安装使用教程
环境 CentOS7 + Python3.5 yum -y install epel-release erlang socat
cd /usr/local/src
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm
yum install rabbitmq-server-3.6.-.el7.noarch.rpm 插件列表查询: rabbitmq-plugins list
开启管理功能: rabbitmq-plugins enable rabbitmq_management 增加访问用户,默认用户guest只能本地访问。
rabbitmqctl add_user admin 设置用户角色: rabbitmqctl set_user_tags admin administrator
权限设置:rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}
conf: 一个正则表达式match哪些配置资源能够被该用户访问。
write: 一个正则表达式match哪些配置资源能够被该用户读。
read: 一个正则表达式match哪些配置资源能够被该用户访问。 权限设置示例: rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" 列出所有用户: rabbitmqctl list_users
删除用户: rabbitmqctl delete_user {username}
修改用户密码: rabbitmqctl change_password {username} {newpassword} 启动: rabbitmq-server -detached
关闭: rabbitmqctl stop
服务器状态: rabbitmqctl status
集群状态: rabbitmqctl cluster_status
添加vhost: rabbitmqctl add_vhost {name}
删除vhost: rabbitmqctl delete_vhost {name}
生产者文件 producer.py
import pika, sys credentials = pika.PlainCredentials("admin", "")
conn_params = pika.ConnectionParameters("192.168.205.128", virtual_host="/", credentials=credentials)
conn_broker = pika.BlockingConnection(conn_params)
channel = conn_broker.channel()
channel.confirm_delivery() # 将信道设置为confirm模式 msg = sys.argv[1] # 将第一个参数作为消息内容
msg_props = pika.BasicProperties()
msg_props.content_type = "text/plain"
ack = channel.basic_publish(body=msg, exchange="hello-exchange", properties=msg_props, routing_key="hola") # 发布信息
if ack is True:
print ("put message to rabbitmq successed!")
else:
print ("put message to rabbitmq failed") channel.close()
消费者文件 consumer.py
import pika credentials = pika.PlainCredentials("admin", "")
conn_params = pika.ConnectionParameters("192.168.205.128", virtual_host="/", credentials=credentials)
conn_broker = pika.BlockingConnection(conn_params)
channel = conn_broker.channel() # 获取信道
channel.exchange_declare("hello-exchange", "direct", passive=False, durable=True, auto_delete=False) # 声明交换器
channel.queue_declare(queue="hello-queue") #声明队列
channel.queue_bind(queue="hello-queue", exchange="hello-exchange", routing_key="hola") # 使用路由键绑定队列和交换器 def msg_consumer(channel, method, header, body): # 处理消息
channel.basic_ack(delivery_tag=method.delivery_tag) # 消息确认
print ("%d : '%s' " %(method.delivery_tag, body) )
if body == b'quit': # 这里的 body 是 bytes 类型
channel.basic_cancel(consumer_tag="hello-consumer") # 停止消费并退出
channel.stop_consuming()
return # 订阅消费者
channel.basic_consume( msg_consumer, queue="hello-queue", consumer_tag="hello-consumer")
channel.start_consuming() # 开始消费
RabbitMQ 安装使用教程的更多相关文章
- Window10下RabbitMQ安装图文教程
版权声明:本文为博主原创文章,未经博主允许欢迎转载,请注明原文链接.一起交流,共同进步. https://blog.csdn.net/newbie_907486852/article/details/ ...
- 转:Window10下RabbitMQ安装图文教程
一.erlang下载安装 1.下载 下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,双 ...
- Mac环境下RabbitMq安装与测试教程
RabbitMq安装与测试教程 Installing on Mac I. 安装 123456789 brew install rabbitmq ## 进入安装目录cd /usr/local/Cella ...
- linux中RabbitMQ安装教程
linux中RabbitMQ安装教程 在做一个微服务项目时候用到消息队列,于是深入了解了消息队列知识,并在linux上安装了Rabbitmq,本博客介绍Rabbitmq的安装教程,想要深入了解消息队列 ...
- rabbitmq安装.教程
https://www.cnblogs.com/ericli-ericli/p/5902270.html (rabbitmq安装)https://www.cnblogs.com/iiwen/p/538 ...
- Ubuntu 16.04 RabbitMq 安装与运行(安装篇)
Ubuntu 16.04 RabbitMq 安装与运行(安装篇) 2018年08月15日 15:05:24 我跟吴彦祖四六开 阅读数:1966 前言 目前公司用阿里云 + redis 的方式实现的 ...
- rabbitMQ学习1:消息队列介绍与rabbitmq安装使用
1. 什么是消息队列 生活里的消息队列,如同邮局的邮箱, 如果没邮箱的话, 邮件必须找到邮件那个人,递给他,才玩完成,那这个任务会处理的很麻烦,很慢,效率很低 但是如果有了邮箱, 邮件直接丢给邮箱,用 ...
- 消息队列rabbitmq rabbitMQ安装
消息队列rabbitmq 12.1 rabbitMQ 1. 你了解的消息队列 生活里的消息队列,如同邮局的邮箱, 如果没邮箱的话, 邮件必须找到邮件那个人,递给他,才玩完成,那这个任务会处理的很麻 ...
- SpringBoot系列之RabbitMQ使用实用教程
SpringBoot系列之RabbitMQ使用实用教程 @ 目录 1. 消息队列概述 1.1 MQ的概述 1.2 MQ目的地形式 2. 消息队列实现方式 2.1 常见MQ框架 2.2 MQ实现方式 3 ...
随机推荐
- 在nginx启动后,如果我们要操作nginx,要怎么做呢 别增加无谓的上下文切换 异步非阻塞的方式来处理请求 worker的个数为cpu的核数 红黑树
nginx平台初探(100%) — Nginx开发从入门到精通 http://ten 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来 ...
- How to Design a Good API and Why it Matters
前谷歌首席 Java 架构师谈如何设优秀的 API – 码农网 http://www.codeceo.com/article/google-java-good-api.html 2015-11-24 ...
- Microservices 微服务概念和优点 自治 弹性 级联故障 微服务的问题 CAP 分布式事务 修改一个服务并对其部署而不影响其他任务服务
https://en.wikipedia.org/wiki/Microservices https://zh.wikipedia.org/wiki/微服務 微服務 (Microservices) 是一 ...
- JUnit4.12 源码分析之TestClass
1. TestClass // 源码:org.junit.runners.model.TestClass // 该方法主要提供方法校验和注解搜索 public class TestClass impl ...
- ShuffleNet
ShuffleNet (An Extremely Efficient Convolutional Neural Network for Mobile Devices) —— Face++ shuffl ...
- Notepad++ 更换主题+字体
Notepad++ 更换主题 https://blog.csdn.net/haluoluo211/article/details/51922666 延伸: 挑选主题 https://blog.csdn ...
- 『HTML5挑战经典』是英雄就下100层-开源讲座(一)从天而降的英雄
是英雄就下100层是一款经典的手机小游戏,以前是在诺基亚手机上十分有名.今天我们就用HTML5和lufylegend一步步地实现它. 一,准备工作 首先,你需要下载lufylegend,下载地址如下: ...
- 【spring-boot】spring-boot整合ehcache实现缓存机制
EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. ehcache提供了多种缓存策略,主要分为内存和磁盘两级,所以无需担心 ...
- jenkin构建项目执行脚本后,脚本中启动的进程也随之关闭的解决办法
问题描述: 之前用jenkins构建项目(maven项目)后都是通过ssh先将war文件推送到远程服务器,然后执行远程的脚本(更新项目,重启tomcat),一直没有出现问题,今天使用jenkins构建 ...
- IPFS搭建&集群
下载go-ipfs wget https://github.com/ipfs/go-ipfs/releases/download/v0.4.17/go-ipfs_v0.4.17_linux-amd64 ...