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