一、RabbitMQ是什么?
首先来说AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
二、安装步骤
本文安装的RabbitMQ版本为3.8.5,安装过程全在root用户下进行
1.安装Erlang
因为RabbitMQ服务器是由erlang语言编写的,所以需要先安装erlang环境
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum install -y erlang
erl
erlang安装完成,两次ctrl+c退出
2.安装RabbitMQ
1.导入两个key
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rpm --import https://packagecloud.io/gpg.key
2.完成RabbitMQ的前置条件配置
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
3.安装socat
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum -y install epel-release
yum -y install socat
4.将rabbitmq-server-3.8.5-1.el7.noarch.rpm拉到虚拟机内,运行安装命令
rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
5.启用管理平台插件,启用插件后,可以可视化管理RabbitMQ
rabbitmq-plugins enable rabbitmq_management
6.启动RabbitMQ
systemctl start rabbitmq-server
7.防火墙打开端口5672和15672
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
systemctl restart firewalld.service
8.浏览器通过ip:15672访问
9.用户名、密码为guest guest
出错,因为guest账号只能在本机登录
10.创建新账号
rabbitmqctl add_user admin abc@1234
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin "." "." ".*"
11.重启RabbitMQ
systemctl restart rabbitmq-server
12.在浏览器使用新账号登录,完成