天天看點

linux系統安裝rabbitMq和rabbitMq踩坑精品總結

1.安裝erlang

//1:安裝GCC GCC-C++ Openssl等子產品,安裝過就不需要安裝了 
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

//2:安裝ncurses
yum -y install ncurses-devel


//開始安裝Erlang
$ wget http://erlang.org/download/otp_src_18.2.1.tar.gz   --下載下傳(該檔案如果版本和RabbitMq不比對是無法安裝成功的)
$ tar xvfz otp_src_18.2.1.tar.gz   --解壓
$ cd otp_src_18.2.1 --進入解壓後的目錄
$ ./configure 
$ make install  --開始安裝,安裝時間要幾分鐘
$ erl --檢視是否安裝完成,傳回如下:
   Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
   Eshell V7.2.1 (abort with ^G)

$ halt().    --檢視後退出 ,我測說的時候,沒有退出,是新開的一個shell視窗      

2.安裝rabbitMq

//下載下傳rabbitMq
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz   --下載下傳位址,可以自己更改可用的位址
$ yum install xz  --安裝壓縮工具

//解壓Mq
$ xz -d xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz  
$ ls    --檢視,應該解壓出來一個 rabbitmq-server-generic-unix-3.6.9.tar 檔案
$ tar -xvf rabbitmq-server-generic-unix-3.6.9.tar
$ ls    --檢視,應該解壓出來一個 rabbitmq_server-3.6.9 檔案夾    注意:這種下載下傳的方式解壓後直接可以使用,無需再編譯安裝;      
  • 随後移動至/usr/local/下 改名rabbitmq:
$ cp -r rabbitmq_server-3.6.9 /usr/local/rabbitmq      
  • 進入到/usr/local/rabbitmq檔案内,其指令檔案存在于sbin檔案夾下,是以需要将sbin檔案夾的路徑添加環境變量到PATH中
  • 修改環境變量/etc/profile,添加如下代碼到最後
export PATH=/usr/local/rabbitmq/sbin:$PATH      
  • 注意重點,将紅色路徑寫入根目錄/etc/profile裡
  • 開始修改:
$ vi /etc/profile  --修改檔案,在末尾加入上面的紅色代碼
$ cat /etc/profile  --檢視是否修改成功
$ source /etc/profile  --使環境變量生效,PATH路徑更新      

3.啟動mq管理方式。

$ cd /usr/local/rabbitmq/sbin/
$ rabbitmq-plugins enable rabbitmq_management   #啟動背景管理

可能出現的錯誤:
1:Applying plugin configuration to rabbit@SZB-L0032605... failed
  則不用在意

  2:rabbitmq Error: dependent plugins [crypto,ssl] not found

   則是openssl和erlang版本不相容,我換成CentOS7就沒問題了、

    我先用的CentOS8.1 就出了這個錯,後來換成CentOS7.6就報了問題1的錯,然後直接忽略      
$ rabbitmq-server -detached   #背景運作rabbitmq
  $ systemctl start firewalld // 啟動防火牆
  $ firewall-cmd --zone=public --add-port=15672/tcp --permanent //開放15672端口
  $ systemctl restart firewalld --重新開機防火牆
  $ firewall-cmd --list-ports --檢視開放端口清單      
  • 然後開始在本地通路:http://12***:15672/ ,賬号和密碼都是admin

4踩坑精品總結

1、一定要去阿裡雲配置安全端口,否則無法通路。(另一個血淚坑5672也要配置,不然項目裡通路不上,,一開始隻配置了15672,然後找bug一下午,暴風哭泣!!!!!!!!!)

  • 2、進入通路頁面,但guest登入不上?
  • 翻看官方文檔可知,guest是有所有權限的,但出于安全因素,guset隻能用localhost登入使用,是以我們自己建立mq賬号:
  • (1) 超級管理者(administrator)

    可登陸管理控制台(啟用management plugin的情況下),可檢視所有的資訊,并且可以對使用者,政策(policy)進行操作。

    (2) 監控者(monitoring)

    可登陸管理控制台(啟用management plugin的情況下),同時可以檢視rabbitmq節點的相關資訊(程序數,記憶體使用情況,磁盤使用情況等)

    (3) 政策制定者(policymaker)

    可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法檢視節點的相關資訊(上圖紅框辨別的部分)。

    與administrator的對比,administrator能看到這些内容

    (4) 普通管理者(management)

    僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點資訊,也無法對政策進行管理。

//新增使用者
rabbitmqctl  add_user  Username  Password

//設定使用者權限
set_user_tags admin administrator

//檢視所有使用者
rabbitmqctl list_users      

繼續閱讀