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 的過程中可以少踩一些坑。