天天看點

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

0 環境

CentOS7

RabbitMQ 3.6.5

erlang 18.3

socat

rabbitmq是使用erlang語言編寫的,是以需要先安裝erlang,其次rabbitmq安裝依賴于socat,是以三個安裝包都需要下載下傳。另外rabbitmq對于erlang的版本是有要求的,這個可以去官網檢視。

0.1 Mac本地檔案上傳

通過ssh連接配接本地虛拟機中的CentOS 7 伺服器,将所需安裝檔案上傳至Linux伺服器

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

0.2 Linux伺服器下直接執行下載下傳指令

wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm      

1 安裝基礎依賴

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

2 安裝rpm包

一定要按順序!!!

  • rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台
  • rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台
  • rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

3 修改配置

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台
  • RabbitMQ的核心配置檔案(顯然就是個JSON格式檔案),在這裡可以檢視到rabbitmq預設監聽的端口号是5672
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台
  • 找到

    loopback_users

    配置項,去除guest,然後儲存退出
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

4 RabbitMQ 基本指令

  • 啟動服務
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台
  • 停止服務的
rabbitmqctl stop
      

檢視程序: 

lsof-i:5672

管理插件: 

rabbitmq-plugins enable rabbitmq-management

5 RabbitMQ 管控台

  • 啟用管控台
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

預設啟用端口是15672,通過ip+端口進行通路,如

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

最好先關閉下iptables規則

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

通路成功後需要輸入使用者名和密碼進行登入,統一輸入 

guest

即可. 但是在該版本,發現網上此法并不行!

rabbitmq的web控制台使用預設賬戶guest登入失敗——login failed 

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

問題背景

rabbitmq的預設賬戶和密碼都是guest,安裝完rabbitmq之後可以使用guest/guest登入。

而通過web控制台登入有以下兩種形式:

  • 本地登陸(即在rabbitmq安裝的機器上登陸——位址欄輸入http://localhost:15672)
  • 遠端登陸(即在其他機器上通過指定IP位址登陸——位址欄輸入http://:15672)

但是,在rabbitmq3.3.0之後,出于安全性考慮,預設情況下rabbitmq的guest/guest賬戶将不能實作遠端登入,隻能在本地登入.

解決方案

建立賬戶

預設的guest賬戶無法遠端登陸,并不意味着其他使用者也無法遠端登入. 是以,可以通過如下指令新增使用者、設定使用者角色以及賦予使用者權限實作遠端登陸:

新增使用者

$ rabbitmqctl add_user Username  Password
      
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

RabbitMQ的使用者角色分類

none、management、policymaker、monitoring、administrator

  • none 不能通路 management plugin
  • management 使用者可以通過AMQP做的任何事外加:
  • 列出自己可以通過AMQP登入的virtual hosts
  • 檢視自己的virtual hosts中的queues, exchanges 和 bindings
  • 檢視和關閉自己的channels 和 connections
  • 檢視有關自己的virtual hosts的“全局”的統計資訊,包含其他使用者在這些virtual hosts中的活動。
  • policymaker management可以做的任何事外加:
  • 檢視、建立和删除自己的virtual hosts所屬的policies和parameters
  • monitoring management可以做的任何事外加:
  • 列出所有virtual hosts,包括他們不能登入的virtual hosts
  • 檢視其他使用者的connections和channels
  • 檢視節點級别的資料如clustering和memory使用情況
  • 檢視真正的關于所有virtual hosts的全局的統計資訊
  • administrator policymaker和monitoring可以做的任何事外加:
  • 建立和删除virtual hosts
  • 檢視、建立和删除users
  • 檢視建立和删除permissions
  • 關閉其他使用者的connections
  • 設定使用者

    administrator

    角色 使用者角色可以分為超級管理者administrator、監控者monitoring、政策制定者policymaker、普通管理者management等.
$ rabbitmqctl set_user_tags <使用者名> administrator
      
Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

修改密碼

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

檢視使用者清單

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

删除賬戶

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

賦予使用者權限

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

使用者權限包括配置權限、讀權限和寫權限 配置權限會影響到exchange、queue的聲明和删除。讀寫權限會影響到從queue裡取消息、向exchange發送消息以及queue和exchange的綁定操作 比如,将queue綁定到某個exchange上,需要具有queue的寫權限以及exchange的讀權限;向exchange發送消息需要具有exchange的寫權限;從queue裡取消息需要具有queue的讀權限。

檢視使用者授權

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

清除權限資訊

rabbitmqctl clear_permissions [-p VHostPath] ymq
rabbitmqctl  clear_permissions  -p / JavaEdge
Clearing permissions for user "JavaEdge" in vhost "/"      

此時,就可以通過你添加的新使用者/密碼來進行rabbitmq的遠端登入了

Linux環境下 RabbitMQ 的下載下傳與安裝0 環境1 安裝基礎依賴2 安裝rpm包3 修改配置4 RabbitMQ 基本指令5 RabbitMQ 管控台

繼續閱讀