引子
之前裝過3.7.x的,最新的已經到了3.8.5,RabbitMQ惡心的一點就是版本太混亂,而且每隔幾個版本,安裝方式都略有不同,這次再來更新一下吧。
安裝RabbitMQ
- 看官網:https://www.rabbitmq.com/install-rpm.html
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2PnVGcq5ydyhDbmZ3b1lmavwFN1EDN4ATMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.jpeg)
- 看比對版本:https://www.rabbitmq.com/which-erlang.html
那麼3.8.5的對應erlang版本區間如上圖,這個要比對。rabbitmq和erlang的版本對應都需要比對上,才能安裝rabbitmq,也就是說必須得有erlang的環境,就跟java需要jvm一個道理。
- 随後點選步驟1中第一個紅框連結
,進入安裝,Windows和mac安裝相對簡單,就不多說了,我們主要說說在linux中的安裝。打開這個連結後看到其實挺亂的,要一個個去看才行,也沒有大小标題和序号,給第一次進來的開發者很不友好的感覺,尤其是英文不太好的,,,不過沒關系,跟着步驟一步步就能安裝。找到Install: RPM-based Linux
,如下圖:Install RabbitMQ Server
上圖中點選第一個連結
install a recent Erlang version via yum
,進入到如下頁面:
這個是用于安裝erlang的前置腳本檔案,拷貝一下到自己的linux系統進行運作:
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
運作後看到如下提示,說明檔案依賴庫已經配置好了,現在可以繼續往下安裝了。
- 在linux中安裝erlang環境:
運作後安裝成功yum install erlang
- 安裝完畢erlang以後可以檢查一下版本号等資訊,如下:
- 通過上面的腳本檢測,可以看到erlang的版本是符合23.x的
- 那麼接下來就要安裝rabbitmq-server了,之前的截圖裡有下面黑色一塊内容,這裡面需要導入兩個key,直接複制一下到linux運作即可:
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rpm --import https://packagecloud.io/gpg.key
導入key成功,不報錯就OK。
- 然後再為安裝
做一個前置準備:rabbitmq-server
點選紅框中的
Package Cloud
,打開後如下:
拷貝這段指令到linux并且運作:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
提示安裝成功,接下來就可以正式安裝rabbitmq的安裝包了!
- 安裝RabbitMQ-Server,找到
,然後下載下傳紅框中的rpm,這個需要安裝,下載下傳的時候根據自己的centos版本去下載下傳,我這裡用的centos7,那麼centos6有點老,centos8太新了。Download the Server
- 上傳上圖中下載下傳的rpm檔案到自己的linux系統:
- 安裝rabbitmq-server,運作如下腳本:
運作後報錯:rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
圖中這是說沒有key,也沒有socat,沒關系,裝上就行。找到這個位置,然後複制key到指令行中運作:
複制到指令行運作導入:
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
- 再次運作安裝
的腳本:rabbitmq-server
rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
這個時候提示需要安裝
socat
,運作如下腳本進行安裝,安裝過程比較慢,耐心等待即可:
yum -y install epel-release
yum -y install socat
- 上面兩個安裝OK後,随後就再次安裝rabbitmq-server
rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
這個時候如上圖,rabbitmq安裝完畢!!
配置RabbitMQ
- RMQ已經安裝完畢,但是還需要配置一下才能使用。
- 以前的版本是可以直接找到的,現在得去手動複制一下,https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example,這個連接配接樣例配置檔案
- 複制裡面的配置内容到本地,重命名為
,如下:rabbitmq.conf
- 然後修改檔案内容,務必注意,大括号最後沒有
:逗号
這個是代表運作 guest 預設使用者可以在非本地環境登入
- 上傳配置檔案到rabbitmq目錄:
- 随後啟用rabbitmq的管理平台插件,啟用以後會在/etc/rabbitmq 目錄下多出一個 enabled_plugins,字面意思應該能了解,不多說,就是開啟插件
- 到此配置全部結束,最後一步就是啟動rabbitmq server了
啟動以後報錯,真是坑。。。service rabbitmq-server start
- 遇到坑不要怕,嘗試自己去解決就行,輸入指令行:
然後有這麼一句話,說是節點journalctl -xe
沒有啟動,連不上,看一下圖中内容,連接配接到某個端口不行,看到端口第一反應就是rabbit
,檢查一下端口占用
檢查端口:
然後kill程序
- 最後再次重新開機RabbitMQ
service rabbitmq-server start
- 這個時候又報錯了,,,看一下吧,配置檔案格式有問題,我們之前增加了一行配置,是用guest,那麼現在我們注釋掉
- 注釋以後重新開機,矮油居然可以啟動成功了:
- 打開預設的mq管理界面,使用者名密碼預設都是guest,登入提示說該使用者隻能在localhost中登入,也就是隻能在虛拟機裡登入。
- 在配置檔案中看到這麼一句話,想要讓guest使用者在任何地方都能有權限通路,則把注釋去了,那麼現在去了試試看,不要忘記重新開機mq服務
- OK了,這個時候可以登入進去,也就是說現在新版本的mq對guest的開放通路形式和以往不同了,很坑,這一點需要注意
- 添加新的管理者使用者admin:
- 給admin提供權限
- 直接點選set即可
小節
歐了,RabbitMQ 搞定安裝完畢,裝mq是一直以來很糟心的事,一不小心就失敗。後續空了錄個視訊,會發出來。
另外關于rabbitmq更多配置資訊可以參考如下連結:https://www.rabbitmq.com/configure.html