RabbitMQ从入门到精通(一) - 简介与安装(Docker和非Docker模式)

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登录。

 

登录后界面如下:

 

 

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的两种安装方式都介绍完毕了


posted @ 2021-03-04 15:43  Master HaKu  阅读(192)  评论(0编辑  收藏  举报