1. 程式人生 > >CentOS 7.3 下安裝RabbitMQ

CentOS 7.3 下安裝RabbitMQ

前言

最近想研究一下rabbitmq,昨晚參照網上教程安裝,遇到了一些問題,但是今天終於豁然開朗了,在此記錄一下Linux環境下安裝RabbitMQ的過程,及分享一些遇到的問題合解決方式。

這裡我們安裝RabbitMQ都使用最新的版本。

環境

伺服器:aliyun伺服器

作業系統:CentOS 7.3

RabbitMQ版本:v3.6.15

安裝

Erlang安裝

由於RabbitMQ是Erlang語言編寫的,所以在安裝RabbitMQ之前,我們先安裝並配置Erlang

 點選OTP 21.1 Sourxe File 進行下載,並上傳到伺服器  /opt目錄下

解壓原始檔:tar -zxvf otp_src_21.1.tar.gz

進入目錄:cd otp_src_21.1

配置編譯安裝在/opt/erlang目錄下:./configure --prefix=/opt/erlang

安裝後重新編譯:make && make install

配置環境變數:vim /etc/profile   文末新增:export PATH=$PATH:/opt/erlang/bin

生效環境:source /etc/profile

驗證Erlang是否安裝成功:

 出現上圖則說明安裝成功

退出(後面有個點哈,別忘了):halt().

RabbitMQ安裝

erlang安裝成功後開始安裝rabbitmq

可以選擇下載安裝包上傳到伺服器進行解壓縮安裝

也可以通過:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz  下載

 下載後進行解壓:xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz  解壓為tar檔案

再使用:tar -xvf rabbitmq-server-generic-unix-3.6.15.tar 解壓檔案

解壓完之後,為方便使用重新命名目錄為rabbitmq:mv rabbitmq_server-3.6.15/ rabbitmq

配置環境變數:export PATH=$PATH:/opt/rabbitmq/sbin

環境變數生效:source /etc/profile

接下來啟動rabbitmq:cd /opt/rabbitmq/sbin

後臺啟動:./rabbitmq-server -detached

(啟動發現報一個pid file not written,網上找了很多也沒找到具體原因,但是通過檢視rabbitmq執行狀態是正常啟動的

暫且先留著這個問題)

檢視rabbitmq狀態:./rabbitmqctl status

這裡檢視rabbitmq狀態發生了錯誤,看起來rabbitmq好像沒有啟動起來,但是我們實際上已經執行啟動命令

通過看日誌發現也是一頭霧水,於是就去網上尋找答案,各種關鍵詞,最後在一個部落格發現:erlang和CentOS,rabbitmq與erlang都是有版本依賴關係的,不同版本會存在版本的不相容

回顧一下,我是用的rabbitmq版本為v.3.6.15,而erlang版本使用的v21.1

v3.6.15最小必要版本為3.6.15,而最大支援版本為20.3.x

因此我們使用erlang版本不在範圍內,所以我們重新下載安裝範圍內的erlang版本,這裡我換成了v20.2

重新安裝後,啟動rabbitmq並檢視狀態,發現正常啟動

配置網頁管理外掛:當我們通過http://ip:15672訪問的時候,訪問不到

停止rabbitmq:./rabbitmqctl stop

開啟外掛:rabbitmq-plugins enable rabbitmq_management

啟動rabbitmq:./rabbitmq-server -detached

訪問,發現可以正常訪問:

rabbitmq預設的賬戶是guest 只能本地訪問,因此遠端訪問只能新增使用者去訪問

檢視rabbitmq使用者:rabbitmqctl list_users  

檢視使用者許可權:rabbitmqctl list_user_permissions guest

增加使用者: rabbitmqctl add_user admin admin

賦予管理員許可權:

rabbitmqctl set_user_tags admin administrator 

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" 

 設定完之後,我們在頁面用admin賬號登陸,可以正常登陸進去:

注意一點,如果你是阿里雲伺服器,在管理控制檯還需要新增相應埠及對應地址段的安全組規則

這樣我們才能在瀏覽器訪問,不然會出現空白頁