RabbitMQ从入门到精通(一)

摘要:
所以你需要安装socat)#下载wgethttp://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm#安装rpm ivhsocat-1.77.3.2-5.el7.lux.x86 _ 64。rpm 2-2)。

0. 什么是消息中间件

在开始介绍RabbitMQ的安装之前,我们有必要介绍一下什么是消息中间件。

消息队列中间件(Message Queue Middleware - MQ)是指利用高效可靠的消息传递机制进行数据交流,并基于数据通信来构建分布式系统。

消息传递的两种模式:

a. 点对点(P2P - Point-to-Point)

基于队列(消息生产者发送消息到队列, 消息消费者从队列接收消息)

b. 发布/订阅(Pub/Sub)

一对多广播(内容节点成为主题-Topic, 消息发布者发布某个主题, 消息订阅者从主题订阅消息)

1. 起源简介

RabbitMQ是采用Erlang语言实现的基于AMQP(Advanced Message Queuing Protocol)[高级消息队列协议]的消息中间件。

2006, AMQP标准公开。

RabbitMQ作为实现该标准的消息中间件产品登上历史舞台。

2010,RabbitMQ被SpringSource-VMWare的一个部门收购。

2013年5月, RabbitMQ并入Pivotal。

2. 传统原生安装

2-1) 下载安装socat

        (RabbitMQ需要socat依赖,所以需要安装socat)

# 下载
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
# 安装
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

2-2) 下载安装Erlang

        (由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前, 需要先安装Erlang)

  下载包

  https://github.com/rabbitmq/erlang-rpm/releases/tag/v23.1.1

# 安装
rpm -ivh erlang-23.1.1-1.el7.x86_64.rpm

2-3) 下载安装RabbitMQ

官方下载地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/
选择版本3.8.0下载rpm安装包。

# 安装
rpm -ivh rabbitmq-server-3.8.0-1.el7.noarch.rpm

2-4) 启动和停止

# 启动
service rabbitmq-server start

# 停止
service rabbitmq-server stop

3. RabbitMQ后台管理

 3-1) 安装后台管理插件

rabbitmq-plugins enable rabbitmq_management

 3-2) 放开访问端口

# RabbitMQ通讯端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent

# RabbitMQ后台管理页面端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent

# 重启防火墙
firewall-cmd --reload

 3-3) 登录后台管理

浏览器访问页面http://ip:15672可以打开后台管理页面

默认自带的guest用户只允许本地机器访问登录(提示User can only log in via localhost)
可以通过以下步骤解决:

# 创建用户:
rabbitmqctl add_user 用户名 密码
eg:
rabbitmqctl add_user kg 123456

# 赋予角色:
rabbitmqctl set_user_tags 用户名 administrator
eg:
rabbitmqctl set_user_tags kg administrator

1. cd /etc/rabbitmq
2. vi rabbitmq.config
3. 写入[{rabbit, [{loopback_users, []}]}].,保存退出。
4. 重启RabbitMQ,service rabbitmq-server restart
5. 用账号guest、密码guest登录。

登录后界面如下:

RabbitMQ从入门到精通(一)第1张

3-4) 解决后台管理页面打开特别慢

本人在刚好安装好以后,发现打开和登录管理页面特别慢,连接RabbitMQ有时候也会超时,后经排查发现是解析主机名的问题,在hosts文件中配上当前主机名即可解决。

vi /etc/hosts
在127.0.0.1 后追加当前主机名称

4. Docker方式安装

开启:管理页面 默认账号:guest 默认密码:guest
Docker启动时候可以指定账号密码对外端口

docker pull rabbitmq

docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin 
 -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 
 -p 61613:61613 -p 1883:1883 rabbitmq:management 
访问地址:
http://ip:15672/

好了,rabbitmq的两种安装方式都介绍完毕了


免责声明:文章转载自《RabbitMQ从入门到精通(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇名称空间Java 基础之详解 Java IO下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#打造秒杀腾讯的仿QQ界面,从此独孤求败

【jehnjehn原创文章,欢迎转载,但请保留原文链接】本文CSDN地址:http://blog.csdn.net/jehnjehn/article/details/7521529           首先,这标题夸张了些。但我可以向毛主席保证夸张不是目的,我只是有目的地夸张:为了证明C#(.NET平台)其实有多么的强大,为了证明C# WinForm仿QQ...

如何将jsp页面的table报表转换到excel报表导出

假设这就是你的jsp页面: 我们会添加一个“导出到excel”的超链接,它会把页面内容导出到excel文件中。那么这个页面会变成这个样子 在此,强调一下搜索时关键词的重要性,这样一下子可以定位到文章,否则处于盲人摸象,毫无目的尴尬境地。本篇就是通过export jsp to excel找到的。  原文地址: How to Export Web Page...

Rancher容器编排

什么是Rancher   是一个开源的企业级PaaS容器管理平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。可以使用任何公有云或者私有云的Linux主机资源。Linux主机可以是虚拟机,也可以是物理机Rancher仅需要主机有CPU,内存,本地磁盘和网络资源,从Rancher的角度来说,一台云...

阿里云重磅发布DMS数据库实验室 免费体验数据库引擎

2月27日,阿里云数据管理DMS发布年度巨献——数据库实验室,用户可在该实验室环境下免费体验数据库引擎、以及DMS各项产品功能。数据库实验室是DMS所提供的体验空间,免费赠送数据库引擎资源。 用户只需要登录阿里云账号,即可开通使用各个已支持数据库引擎的全部产品功能,同时还将拥有如下权益: 免费256MB数据空间 免费体验DMS所有功能 未来将享有其他类型...

iframe父子页面间互相调用方法和属性

<iframe src="VideoController.do?videoPlay" name="topFrame" ></iframe> topFrame 是父级页面iframe的name属性 1、父级页面调用子级页面 (1)父级页面调用子级页面方法    topFrame.window.子级页面方法(); (2)父级页面调用子...

Kafka如何实现高性能io?

一、批量消息   虽然我们是一笔一笔消息的发送给kafka,但是kafka并不是立即就发送出去的,而是先将消息缓存起来,再一批一起等个合适的时机一起发送出去。   消费端收到消息不是一个个拆出来一个个处理,而是直接作为一批一起处理,一起读写磁盘io,一起复制,这都大大加快了io的速度。 二、顺序读写   磁盘io分为顺序读写和随机读写,而顺序读写的速度要...