RabbitMQ 是由 Erlang 语言编写的实现了高级消息队列协议(AMQP)的开源消息代理软件(也可称为面向消息的中间件)。其支持 Windows、Linux/Unix、MAC OS 等操作系统和包括 Java 在内的多种编程语言。
AMQP,即 Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计;基于此协议的客户端与消息中间件可传递消息,并不受客户端、中间件不同产品,不同的开发语言等条件的限制。
RabbitMQ 基本概念:
- Broker:接收消息,分发消息应用;
- Exchange:消息交换机;指定消息按照什么规则路由到哪个队列 Queue;
- Queue:消息队列,存储消息的载体;Binding:Exchange 和 Queue 之间的虚拟连接;
- Binding 中可以包含 RoutingKey,其信息被保存到 Exchange 中的查询表中,作为 Message 的分发依据;
- RoutingKey:路由关键字,Exchange 根据 RoutingKey 将消息投递到对应的队列中;
- Vhost:虚拟主机,一个 Broker 可以有多个虚拟主机,用作不同用户的权限分离;一个虚拟主机持有一组 Exchange、Queue 和 Binding;
- Producer:消息生产者,主要将消息投递到对应的 Exchange 上面;
- Consumer:消息消费者,消息的接收者,一般是独立的程序;
- Channel:消息通道,也称信道。在客户端的每个连接里可以建立多个 Channel,每个 Channel 代表一个会话任务。
CentOS 7 安装 RabbitMQ
- 添加 Erlang 源:
vim /etc/yum.repos.d/rabbitmq-erlang.repo
文件中写入以下内容:
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
- 新建目录:
mkdir /usr/local/software - 下载 RabbitMQ rpm 安装文件:
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3.7.7-1.el7.noarch.rpm - 安装 RabbitMQ Server:
yum install -y rabbitmq-server-3.7.4-1.el7.noarch.rpm - 安装 RabbitMQ Web 管理界面并启动 RabbitMQ Server:
rabbitmq-plugins enable rabbitmq_management systemctl start rabbitmq-server - 由于 RabbitMQ 默认用户 Guest 只能访问安装在 RabbitMQ 本机上的 Web 管理页面,因此当 RabbitMQ 安装在 Linux 服务器上时,需要做如下操作才能在别的机器上访问其 Web管理页面:
添加用户:rabbitmqctl add_user root 123456,其中 root 表示新添加用户名,123456 表示登录密码;
赋予用户权限:rabbitmqctl set_permissions -p "/" root '.*' '.*' '.*';
赋予用户角色:rabbitmqctl set_user_tags root administrator;
查看 RabbitMQ 用户:rabbitmqctl list_users。
- 浏览器访问:http://192.168.1.120:15672,进入 RabbitMQ Web 管理页面
如果顺利进去,则 RabbitMQ 已经安装成功。
未经允许不得转载:极客萌动 » CentOS7 安装 RabbitMQ