阿粉教你避開安裝RabbitMQ的那些坑(命令實戰)
本文轉載自微信公眾號「Java極客技術」,作者鴨血粉絲 。轉載本文請聯系Java極客技術公眾號。
前段時間的時候,阿粉給大家在一篇文章中講了關于如何安裝RabbitMQ,以及如何在Windows下安裝RabbitMQ的文章,但是后臺就有粉絲說,為啥不講 RabbitMQ 在Linux下的安裝呢,我在 Linux 下安裝了好幾次都失敗了,然后我還不知道是什么問題。于是阿粉專門整了個小小的云服務器,就打算在自己的云服務器上裝上 RabbitMQ 并且給大家詳細說一下安裝的命令。
RabbitMQ 安裝前準備
如果有條件的同胞們,可以在阿里云和華為云上租個服務器,最低配置的也算是足夠自己玩了,平常部署個小玩意什么的都比較方便,而且價格也是非常的便宜,一般在六七十塊錢就能搞定一年的,就比如阿粉,為了體驗他們有什么不同,花了100元大洋一邊安排了一個小型的云服務器,一個是阿里云的,一個是華為云的,加起來花了100多一點點,給大家看下云服務器。
服務器的配置是最低的,就是一個自己測試用的入門級的,一定要趕著活動買哈,尤其是想自己用著玩的,可以關注一下活動,話不多說,我們來鏈接上我們的服務器搞一下。
遠程連接自己的云服務器
阿粉使用的是 XShell 和 XFtp 這兩個工具遠程連接的自己的云服務器,連接完成之后就是下面這個樣子。
話不多說,我們開始安裝 RabbitMQ ,首先我們知道 RabbitMQ 是用 Erlang 語言開發,所以不管我們是在 Windows 下安裝 RabbitMQ 還是在 Linux 下安裝 RabbitMQ 的時候,都需要我們先去安裝 Erlang 語言環境,也就是安裝 Erlang 環境。
RabbitMQ的安裝
1.升級所有包同時也升級軟件和系統內核
- yum -y update
這個地方我們需要先升級一下所有的包和軟件和系統內核,這時候也有人就會問,為什么有人的教學上說使用的是 yum -y upgrade ,阿粉在這里給大家說一下,這兩個命令還是有區別的。
- yum -y update 升級所有包同時也升級軟件和系統內核
- yum -y upgrade 只升級所有包,不升級軟件和系統內核
如果你執行的 yum -y update 那么不出意外的情況下,一般更新的內容比較多,而第二個升級包不升級軟件和內核的命令相對來說執行的就快一點,不過阿粉用的是自己的云服務器,那至少肯定網速比阿粉本地快吧,升級!
2.安裝EPEL YUM源
- yum -y install epel-release
為什么要安裝這個呢?因為當我們用yum安裝軟件時,發現我們的yum源里面沒有該軟件,然后需要自己去 wget,然后configure,make,make install
而在 CentOS 中有一個源 EPEL(Extra Packages for Enterprise) 在這個里面軟件居多,能夠滿足我們大部分的需求,所以裝一下吧。裝完之后,我們在升級一下,
- yum -y update
就是下面的圖。
然后我們就需要去妝一下 Erlang 環境了
- yum -y install erlang socat
當出現 Complete! 的時候就證明沒啥問題了,既然沒啥問題了,我們是不是得看看是不是安裝成功了。
- erl -version
- Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
我們看到 Erlang 對應的是 OTP 22 我們這時候就需要去看看官網上 Erlang 對應版本的 RabbitMQ 需要我們下載什么版本。
這時候我們就得去下載對應的版本,我們的 Erlang 環境是22的,我們就得下載對應的版本,不然,你是裝不上 RabbitMQ 的。
如下圖:
也就是說,我們目前可選擇的版本的話,只能是這么多了,3.7.27 / 3.7.26/ 3.7.25/ 3.7.24/ 3.7.23/ 3.7.22/ 3.7.21/ 3.7.20/ 3.7.19/ 3.7.18/ 3.7.17/ 3.7.16/ 3.7.15
這時候我們就給他安排一波,找個 3.7.26 安裝包來一波吧。
下載之前,我們得先看看我們要下載哪個版本的,因為針對不同的 CentOS ,你最好也要下載對應的版本。
- cat /etc/centos-release
CentOS Linux release 8.4.2105
也就是說我們需要下載的就是el8類型的,阿粉下載的就是這個,rabbitmq-server-3.7.26-1.el8.noarch.rpm ,
我們通過 XFtp 上傳到我們的云服務器上。
然后去安裝一下:
- rpm -Uvh rabbitmq-server-3.7.26-1.el8.noarch.rpm
這是不是意味著我們就安裝完成了?
我們啟動一下然后看看狀態試試
- systemctl start rabbitmq-server
竟然沒問題,那我們再來看看狀態
- systemctl status rabbitmq-server
看來我們已經啟動起來了,那我們看看能不能訪問,IP:15672
發現竟然不能訪問,我們下來試試把防火墻關掉,
關閉防火墻:
- systemctl stop firewalld.service
禁止firewall開機啟動
- systemctl disable firewalld.service
查看默認防火墻狀態
- firewall-cmd --state
顯示notrunning 我們確認關閉了,關掉防火墻之后,阿粉想了一下,我是不是沒打開 RabbitMQ 的Web 后臺,那我怎么能訪問到呢,
- rabbitmq-plugins enable rabbitmq_management
這時候,再訪問試試。結果還是不行,這時候阿粉想了一下,云服務器是不是安全組給我攔截了,我防火墻什么的全都關閉了,為啥還是不不讓我訪問后臺呢?于是接下來我們要在安全組把端口給他放開。
終于終于終于看到了我們心心念念的畫面了,到這里你以為就結束了嗎?不,肯定不是,我們需要來安排一下賬號和密碼不是么,不然進不去看不到后臺有什么用。
- rabbitmqctl list_users
- Listing users ...
- user tags
- guest [administrator]
有一個管理員賬號,但是我們需要建立一個自己的賬號,然后給他授予上角色。
- rabbitmqctl add_user xiaoyi xiaoyi
- rabbitmqctl set_user_tags xiaoyi administrator
這樣我們再去登錄就沒什么問題了。
這時候我們可算是把 RabbitMQ 給安裝完成了,你學會了么?