RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。 |
安装任何软件包之前,建议使用以下 命令更新软件包和存储库
yum -y update
由于RabbitMQ是基于Erlang(面向高并发的语言)语言开发,所以在安装RabbitMQ之前,需要先安装Erlang。在本教程中我们将安装最新版本的Erlang到服务器中。 Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。 运行以下 命令相同。
yum -y install epel-release yum -y update
安装Erlang
yum -y install erlang socat
您现在可以使用以下命令检查Erlang版本。
erl -version
您将得到如下输出:
[root@liptan-pc ~]# erl -version Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4
RabbitMQ为预编译并可以直接安装的企业 Linux系统提供RPM软件包。 唯一需要的依赖是将Erlang安装到系统中。 我们已经安装了Erlang,我们可以进一步下载RabbitMQ。 通过运行下载Erlang RPM软件包。
下载RabbitMQ
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
如果你没有安装wget ,可以运行yum -y install wget 。 您可以随时找到最新版本的RabbitMQ下载页面的链接。
通过运行导入GPG密钥:
rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
运行RPM安装RPM包:
rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm
RabbitMQ现已经安装在系统上。
运行
systemctl start rabbitmq-server
开机自启
systemctl enable rabbitmq-server
检查状态
systemctl status rabbitmq-server
启动RabbitMQ Web管理控制台,方法是运行:
rabbitmq-plugins enable rabbitmq_management
通过运行以下命令,将RabbitMQ文件的所有权提供给RabbitMQ用户:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
现在,您将需要为RabbitMQ Web管理控制台创建管理用户。 运行以下命令相同。
rabbitmqctl add_user admin StrongPassword rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”
将管理员更改为管理员用户的首选用户名。 确保将StrongPassword更改为非常强大的密码。
要访问RabbitMQ的管理面板,请使用您最喜爱的Web浏览器并打开以下URL。
http://Your_Server_IP:15672/
第一次访问需要登录,默认的账号密码为:guest/guest
connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况
channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道。
Exchanges:交换机,用来实现消息的路由
Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列。
端口:
上面的Tags选项,其实是指定用户的角色,可选的有以下几个:
超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
其他
无法登陆管理控制台,通常就是普通的生产者和消费者。