Linux 環(huán)境下 RabbitMQ 的安裝與基礎(chǔ)服務(wù)命令實(shí)操
1. 前言
我們都知道,我們項目的部署離不開 Linux 服務(wù)器,如果我們不會在 Linux 服務(wù)器上使用 RabbitMQ ,那么我們自己就不會部署帶有 RabbitMQ 的項目,所以,出于項目部署與當(dāng)下主流環(huán)境考慮,本節(jié)會為大家介紹如何在 Linux 環(huán)境下,安裝 Rabbit MQ 消息通信中間件,并通過一些基本的 RabbitMQ 基礎(chǔ) Linux 服務(wù)命令來為大家介紹,如何在 Linux 服務(wù)器上對 RabbitMQ 做一些基本必要的操作。
本節(jié)主要內(nèi)容:
-
Linux 環(huán)境下 RabbitMQ 的安裝步驟;
-
安裝成功與否的必要性測試;
-
RabbitMQ 基礎(chǔ) Linux 服務(wù)命令詳解。
2. Linux 環(huán)境下 RabbitMQ 的安裝
我們知道,如果我們想要在 Windows 環(huán)境下來安裝 RabbitMQ ,需要我們首先安裝 RabbitMQ 的依賴環(huán)境,即 erlang 語言支持環(huán)境,那么,在 Linux 環(huán)境下安裝 RabbitMQ ,也需要我們首先來安裝 erlang 語言支持環(huán)境。
Tips:
1. 本文所使用的 Linux 服務(wù)器版本為 CentOS 7 64 Bit 版本,請同學(xué)們務(wù)必和老師所使用的版本保持一致,否則可能因為 Linux 服務(wù)器版本問題而導(dǎo)致安裝命令失效;
2. 出于操作簡單考慮,本文使用基于 yum 源和 rpm 命令來完成各依賴的安裝,如果同學(xué)們的 Linux 服務(wù)器上不支持這兩個命令,請先自行完成這兩個命令的安裝。
2.1 在 Linux 環(huán)境下安裝 erlang 語言支持庫
在 Linux 環(huán)境下安裝 erlang 語言支持庫還是非常簡單的,我們只需要通過以下幾條命令即可完成安裝:
第一步:初始化 erlang 資源庫
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
第二步:安裝 erlang 語言支持庫
yum -y install erlang
運(yùn)行該條命令,在等待片刻之后,我們即可完成 erlang 語言支持庫的安裝。
第三步:校驗 erlang 是否安裝成功
校驗 erlang 是否安裝成功,我們只需要在 Linux 服務(wù)器上輸入一個 erlang 語言的關(guān)鍵字即可,如下所示:
erl
在輸入 erl 關(guān)鍵字之后,我們會看到 erlang 語言的命令解釋器,如下圖所示:

當(dāng)我們看到這個 erlang 語言命令解釋器時,就說明我們的 erlang 語言支持庫就已經(jīng)安裝成功了,接下來我們需要退出 erlang 語言命令解釋器來安裝 RabbitMQ ,退出命令如下所示:
halt().
退出 erlang 語言命令解釋器后的界面如下圖所示:

2.2 在 Linux 環(huán)境下安裝 RabbitMQ 消息通信中間件
像安裝 erlang 語言支持庫那樣,我們也需要幾個步驟來安裝 RabbitMQ 消息通信中間件。
第一步:RabbitMQ key 的導(dǎo)入
使用 rpm 的方式來安裝 RabbitMQ 時,需要我們首先導(dǎo)入兩個 key 到我們的 Linux服務(wù)器上,導(dǎo)入 key 的命令如下所示:
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rpm --import https://packagecloud.io/gpg.key
第二步:初始化 RabbitMQ 資源庫
在將這兩個 kye 導(dǎo)入完成之后,我們需要初始化 RabbitMQ 的資源庫,初始化命令如下所示:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
第三步:RabbitMQ 的安裝
在初始化完成 RabbitMQ 的資源庫文件之后,我們需要將 RabbitMQ 官網(wǎng)的安裝包下載下來,并放到我們的服務(wù)器中,我們可以直接在服務(wù)器中使用 wget 來下載對應(yīng)的安裝包,命令如下:
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
等待安裝過程結(jié)束,我們就完成了 RabbitMQ 消息通信中間件的安裝。
Tips: 1. erlang 語言支持庫的版本和 RabbitMQ 消息通信中間件的版本一定要保持一致,即保持在一個版本范圍之內(nèi),這樣我們才能順利安裝 erlang 和 RabbitMQ ,如果這兩個版本不符合要求,那我們的 erlang 和 RabbitMQ 就不能正常安裝成功,這點(diǎn)需要同學(xué)們注意;
2. 如果我們在安裝 RabbitMQ 的過程中,出現(xiàn)了 nokey 或 socat 依賴未找到錯誤時,表明我們的 Linux 服務(wù)器中缺少對應(yīng)的 key 或 socat 依賴沒有安裝,這種錯誤我們只需要將缺少的 key 導(dǎo)入或安裝 socat 依賴即可,命令如下:
導(dǎo)入可能缺少的 key
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安裝可能缺少的 socat 依賴
yum install -y epel-release
yum install -y socat
3. 安裝成功與否的必要性測試
與 Windows 環(huán)境相同的是,檢測 RabbitMQ 是否安裝成功的方式,也是通過訪問 RabbitMQ 的內(nèi)置監(jiān)控臺來實(shí)現(xiàn),如果我們可以正常訪問 RabbitMQ 的內(nèi)置監(jiān)控臺,就說明我們的 RabbitMQ 服務(wù)是安裝成功且可用的。
與 Windows 環(huán)境不同的是,在經(jīng)過上述安裝過程之后,我們僅僅安裝了 RabbitMQ 的 Server 服務(wù),并沒有安裝 RabbitMQ 的內(nèi)置監(jiān)控臺,所以,現(xiàn)在我們還不能訪問 RabbitMQ 的內(nèi)置監(jiān)控臺。
3.1 啟用 RabbitMQ 內(nèi)置監(jiān)控臺
在 Linux 環(huán)境中,RabbitMQ 消息通信中間件被拆分成了 Server 服務(wù)和客戶端插件 Plugins 兩部分內(nèi)容,當(dāng)我們安裝好了 Server 服務(wù)之后,RabbitMQ 自帶的一些 Plugins 也已經(jīng)準(zhǔn)備就緒了,其中,就包括 RabbitMQ 的內(nèi)置監(jiān)控臺。所以,要想訪問 RabbitMQ 內(nèi)置監(jiān)控臺,我們只需要啟動這一插件即可。
在 Linux 環(huán)境中,啟用 RabbitMQ 內(nèi)置監(jiān)控臺命令如下:
rabbitmq-plugins enable rabbitmq_management
在啟用了該插件之后,最后我們需要啟動我們的 RabbitMQ 的 Server 服務(wù),命令如下:
systemctl start rabbitmq-server
3.2 檢查 RabbitMQ 是否安裝成功
執(zhí)行服務(wù)啟動命令之后,Centos 7 下并不會打印任何啟動日志,我們需要查詢 RabbitMQ 服務(wù)的狀態(tài)來確定 RabbitMQ 服務(wù)是否已經(jīng)啟動了,命令如下:
systemctl status rabbitmq-server
服務(wù)狀態(tài)查詢結(jié)果如下圖所示:

當(dāng)我們看到綠色字樣的 running 單詞時,表明我們的 RabbitMQ 服務(wù)已經(jīng)正常啟動了。
在 RabbitMQ Server 服務(wù)啟動完成之后,我們就可以訪問 RabbitMQ 的內(nèi)置監(jiān)控臺了。當(dāng)我們看到如下圖所示效果時,就說明我們的 RabbitMQ 已經(jīng)成功安裝了:

4. RabbitMQ 基礎(chǔ) Linux 服務(wù)命令詳解
在上述內(nèi)容中,我們已經(jīng)在 Linux 環(huán)境中安裝好了 RabbitMQ 消息通信中間件,在安裝過程中,涉及到了一些關(guān)于 RabbitMQ 的基礎(chǔ) Linux 命令,這些命令都表示什么意思呢,接下來讓我們一探究竟。
基礎(chǔ) Linux 命令
命令:
systemctl [operation] [serviceName]
解釋:
該命令是 Linux 中使用非常頻繁的命令之一,表示對具體的服務(wù)進(jìn)行一些操作,其中,systemctl 為固定格式,operation 表示操作的類型,目前可選的類型有:start restart stop status,分別表示:服務(wù)啟動、服務(wù)重啟、服務(wù)停止、服務(wù)狀態(tài)。
serviceName 表示服務(wù)的具體名稱,這里的服務(wù)名稱并不是我們通常所說的名稱,而是存在于 Linux 系統(tǒng)中的特定服務(wù)名稱,比如 RabbitMQ 服務(wù),他的服務(wù)名稱并不是 rabbitmq ,而是 rabbitmq-server 。
該命令主要對 Linux 中的具體服務(wù)進(jìn)行相應(yīng)操作,目前可操作的類型有:啟動服務(wù)、重啟服務(wù)、停止服務(wù)、查看服務(wù)狀態(tài)。
基礎(chǔ) RabbitMQ 命令
命令:
rabbitmq-plugins [operation] [pluginName]
解釋:
該命令是 RabbitMQ 在 Linux 中獨(dú)有的命令,其主要作用于 RabbitMQ 中的插件,其中,rabbitmq-plugins 為固定格式,operation 為操作的類型,目前可選的類型有:disable、enable,分別表示:禁用插件、啟用插件;pluginName 表示 RabbitMQ 中插件的名稱。
一般而言,我們使用 RabbitMQ 自帶的插件就可以了,但是有些業(yè)務(wù)場景并不能很好地支撐,所以我們也可以自己安裝一些第三方的 RabbitMQ 插件。
5. 小結(jié)

在本小節(jié)中,為大家介紹了在 Linux 環(huán)境下,安裝 RabbitMQ 消息通信中間件的步驟。針對每個步驟中的每個過程都做了詳細(xì)的介紹,針對在安裝過程中容易出現(xiàn)問題的地方也做了相應(yīng)的提示,在安裝完成之后,針對在 Linux 環(huán)境下,常用的一些 Linux 命令和 RabbitMQ 命令都做了詳細(xì)的介紹,旨在幫助同學(xué)們在 Linux 環(huán)境下安裝 RabbitMQ 的過程中可以少踩一些坑。