Linux 环境下 RabbitMQ 的安装与基础服务命令实操
1. 前言
我们都知道,我们项目的部署离不开 Linux 服务器,如果我们不会在 Linux 服务器上使用 RabbitMQ ,那么我们自己就不会部署带有 RabbitMQ 的项目,所以,出于项目部署与当下主流环境考虑,本节会为大家介绍如何在 Linux 环境下,安装 Rabbit MQ 消息通信中间件,并通过一些基本的 RabbitMQ 基础 Linux 服务命令来为大家介绍,如何在 Linux 服务器上对 RabbitMQ 做一些基本必要的操作。
本节主要内容:
-
Linux 环境下 RabbitMQ 的安装步骤;
-
安装成功与否的必要性测试;
-
RabbitMQ 基础 Linux 服务命令详解。
2. Linux 环境下 RabbitMQ 的安装
我们知道,如果我们想要在 Windows 环境下来安装 RabbitMQ ,需要我们首先安装 RabbitMQ 的依赖环境,即 erlang 语言支持环境,那么,在 Linux 环境下安装 RabbitMQ ,也需要我们首先来安装 erlang 语言支持环境。
Tips:
1. 本文所使用的 Linux 服务器版本为 CentOS 7 64 Bit 版本,请同学们务必和老师所使用的版本保持一致,否则可能因为 Linux 服务器版本问题而导致安装命令失效;
2. 出于操作简单考虑,本文使用基于 yum 源和 rpm 命令来完成各依赖的安装,如果同学们的 Linux 服务器上不支持这两个命令,请先自行完成这两个命令的安装。
2.1 在 Linux 环境下安装 erlang 语言支持库
在 Linux 环境下安装 erlang 语言支持库还是非常简单的,我们只需要通过以下几条命令即可完成安装:
第一步:初始化 erlang 资源库
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
第二步:安装 erlang 语言支持库
yum -y install erlang
运行该条命令,在等待片刻之后,我们即可完成 erlang 语言支持库的安装。
第三步:校验 erlang 是否安装成功
校验 erlang 是否安装成功,我们只需要在 Linux 服务器上输入一个 erlang 语言的关键字即可,如下所示:
erl
在输入 erl 关键字之后,我们会看到 erlang 语言的命令解释器,如下图所示:
当我们看到这个 erlang 语言命令解释器时,就说明我们的 erlang 语言支持库就已经安装成功了,接下来我们需要退出 erlang 语言命令解释器来安装 RabbitMQ ,退出命令如下所示:
halt().
退出 erlang 语言命令解释器后的界面如下图所示:
2.2 在 Linux 环境下安装 RabbitMQ 消息通信中间件
像安装 erlang 语言支持库那样,我们也需要几个步骤来安装 RabbitMQ 消息通信中间件。
第一步:RabbitMQ key 的导入
使用 rpm 的方式来安装 RabbitMQ 时,需要我们首先导入两个 key 到我们的 Linux服务器上,导入 key 的命令如下所示:
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rpm --import https://packagecloud.io/gpg.key
第二步:初始化 RabbitMQ 资源库
在将这两个 kye 导入完成之后,我们需要初始化 RabbitMQ 的资源库,初始化命令如下所示:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
第三步:RabbitMQ 的安装
在初始化完成 RabbitMQ 的资源库文件之后,我们需要将 RabbitMQ 官网的安装包下载下来,并放到我们的服务器中,我们可以直接在服务器中使用 wget 来下载对应的安装包,命令如下:
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm
等待安装包下载完成之后,我们就可以使用 rpm 命令来安装 RabbitMQ 了,安装命令如下所示:
rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
等待安装过程结束,我们就完成了 RabbitMQ 消息通信中间件的安装。
Tips: 1. erlang 语言支持库的版本和 RabbitMQ 消息通信中间件的版本一定要保持一致,即保持在一个版本范围之内,这样我们才能顺利安装 erlang 和 RabbitMQ ,如果这两个版本不符合要求,那我们的 erlang 和 RabbitMQ 就不能正常安装成功,这点需要同学们注意;
2. 如果我们在安装 RabbitMQ 的过程中,出现了 nokey 或 socat 依赖未找到错误时,表明我们的 Linux 服务器中缺少对应的 key 或 socat 依赖没有安装,这种错误我们只需要将缺少的 key 导入或安装 socat 依赖即可,命令如下:
导入可能缺少的 key
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安装可能缺少的 socat 依赖
yum install -y epel-release
yum install -y socat
3. 安装成功与否的必要性测试
与 Windows 环境相同的是,检测 RabbitMQ 是否安装成功的方式,也是通过访问 RabbitMQ 的内置监控台来实现,如果我们可以正常访问 RabbitMQ 的内置监控台,就说明我们的 RabbitMQ 服务是安装成功且可用的。
与 Windows 环境不同的是,在经过上述安装过程之后,我们仅仅安装了 RabbitMQ 的 Server 服务,并没有安装 RabbitMQ 的内置监控台,所以,现在我们还不能访问 RabbitMQ 的内置监控台。
3.1 启用 RabbitMQ 内置监控台
在 Linux 环境中,RabbitMQ 消息通信中间件被拆分成了 Server 服务和客户端插件 Plugins 两部分内容,当我们安装好了 Server 服务之后,RabbitMQ 自带的一些 Plugins 也已经准备就绪了,其中,就包括 RabbitMQ 的内置监控台。所以,要想访问 RabbitMQ 内置监控台,我们只需要启动这一插件即可。
在 Linux 环境中,启用 RabbitMQ 内置监控台命令如下:
rabbitmq-plugins enable rabbitmq_management
在启用了该插件之后,最后我们需要启动我们的 RabbitMQ 的 Server 服务,命令如下:
systemctl start rabbitmq-server
3.2 检查 RabbitMQ 是否安装成功
执行服务启动命令之后,Centos 7 下并不会打印任何启动日志,我们需要查询 RabbitMQ 服务的状态来确定 RabbitMQ 服务是否已经启动了,命令如下:
systemctl status rabbitmq-server
服务状态查询结果如下图所示:
当我们看到绿色字样的 running 单词时,表明我们的 RabbitMQ 服务已经正常启动了。
在 RabbitMQ Server 服务启动完成之后,我们就可以访问 RabbitMQ 的内置监控台了。当我们看到如下图所示效果时,就说明我们的 RabbitMQ 已经成功安装了:
4. RabbitMQ 基础 Linux 服务命令详解
在上述内容中,我们已经在 Linux 环境中安装好了 RabbitMQ 消息通信中间件,在安装过程中,涉及到了一些关于 RabbitMQ 的基础 Linux 命令,这些命令都表示什么意思呢,接下来让我们一探究竟。
基础 Linux 命令
命令:
systemctl [operation] [serviceName]
解释:
该命令是 Linux 中使用非常频繁的命令之一,表示对具体的服务进行一些操作,其中,systemctl 为固定格式,operation 表示操作的类型,目前可选的类型有:start restart stop status,分别表示:服务启动、服务重启、服务停止、服务状态。
serviceName 表示服务的具体名称,这里的服务名称并不是我们通常所说的名称,而是存在于 Linux 系统中的特定服务名称,比如 RabbitMQ 服务,他的服务名称并不是 rabbitmq ,而是 rabbitmq-server 。
该命令主要对 Linux 中的具体服务进行相应操作,目前可操作的类型有:启动服务、重启服务、停止服务、查看服务状态。
基础 RabbitMQ 命令
命令:
rabbitmq-plugins [operation] [pluginName]
解释:
该命令是 RabbitMQ 在 Linux 中独有的命令,其主要作用于 RabbitMQ 中的插件,其中,rabbitmq-plugins 为固定格式,operation 为操作的类型,目前可选的类型有:disable、enable,分别表示:禁用插件、启用插件;pluginName 表示 RabbitMQ 中插件的名称。
一般而言,我们使用 RabbitMQ 自带的插件就可以了,但是有些业务场景并不能很好地支撑,所以我们也可以自己安装一些第三方的 RabbitMQ 插件。
5. 小结
在本小节中,为大家介绍了在 Linux 环境下,安装 RabbitMQ 消息通信中间件的步骤。针对每个步骤中的每个过程都做了详细的介绍,针对在安装过程中容易出现问题的地方也做了相应的提示,在安装完成之后,针对在 Linux 环境下,常用的一些 Linux 命令和 RabbitMQ 命令都做了详细的介绍,旨在帮助同学们在 Linux 环境下安装 RabbitMQ 的过程中可以少踩一些坑。