1. 程式人生 > 其它 >RabbitMQ 安裝與介面管理

RabbitMQ 安裝與介面管理

RabbitMQ 安裝與介面管理

RabbitMQ概述

官網:https://www.rabbitmq.com/

RabbitMQ是部署最廣泛的開源訊息代理。

RabbitMQ擁有成千上萬的使用者,是最流行的開源訊息代理之一。從T-Mobile到Runtastic, RabbitMQ在全球範圍內廣泛應用於小型初創企業和大型企業。

RabbitMQ是輕量級的,易於部署在premises和雲中。它支援多種訊息傳遞協議。RabbitMQ可以以分散式和聯合的方式部署,以滿足高規模、高可用性的需求。

RabbitMQ執行在許多作業系統和雲環境上,併為最流行的語言提供了廣泛的開發工具。

安裝準備

下載Rabbit

下載地址:https://www.rabbitmq.com/download.html

這裡以Linux系統進行舉例,我使用的是CentOS7的映象,可以選擇對應版本

下載Erlang

RabbitMQ是基於Erlang開發,所以想要使用RabbitMQ,需要安裝Erlang

檢視對應版本的Erlang

網址:https://www.rabbitmq.com/which-erlang.html

該處是對應的,不可以讓Erlang版本超出範圍

下載地址:https://www.erlang-solutions.com/

Linux安裝

[root@localhost ~]# mkdir -p /usr/rabbitmq     # 在/usr資料夾下建立rabbitmq資料夾
[root@localhost ~]# cd /usr/rabbitmq           # 進入/usr/rabbitmq 資料夾下
[root@localhost rabbitmq]# 

使用X-ftp 將下載的檔案移動到該檔案下

安裝Erlang

rpm -Uvh erlang-23.3.1-1.el7.x86_64.rpm    # 後面的檔名改為下載的檔名

yum install -y erlang     #安裝erlang  , 這裡可能會報錯

yum list | grep erlang    # 查詢erlang在系統中安裝包的名字 , 如果顯示installed 不用執行上面的安裝

erl -v    #檢視erlang版本

安裝socat

yum install -y socat

安裝RabbitMQ

rpm -Uvh rabbitmq-server-3.8.14-1.el7.noarch.rpm

yum install rabbitmq-server -y

測試是否安裝成功

# 啟動服務
systemctl start rabbitmq-server

# 檢視服務狀態,如圖
systemctl status rabbitmq-server.service

# 開機自啟動
systemctl enable rabbitmq-server

# 停止服務
systemctl stop rabbitmq-server

Docker安裝

更新yum

yum update               #yum 更新到最新

yum install -y yum-utils device-mapper-persistent-data lvm2    #安裝需要的軟體包

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo    #設定yum源為阿里雲

安裝Docker

yum install docker-ce -y        #安裝docker

docker -v      #檢視docker版本

配置Docker映象

[root@localhost rabbitmq]# mkdir -p /etc/docker
[root@localhost rabbitmq]# tee /etc/docker/daemon.json <<-'EOF'
> 
> {
>   "registry-mirrors": ["https://9vqg1xqp.mirror.aliyuncs.com"]
> }
> EOF

重啟、檢視docker狀態

systemctl daemon-reload 

systemctl restart docker       #重啟docker

systemctl status daocker       #檢視docker狀態

docker images                  #檢視docker映象

Docker常用命令

#啟動docker:
systemctl start docker
#停止docker:
systemctl stop docker
#重啟docker:
systemctl restart docker
#檢視docker狀態
systemctl status docker
#開機啟動
systemctl enable docker
systemctl unenable docker
#檢視docker概要資訊
docker info
#檢視docker幫助文件
docker --help

開始安裝

獲取rabbit映象

docker pull rabbitmq:management

建立並執行容器

docker run -di --name=myrabbit -p 15672:15672 rabbitmq:management

啟動服務

docker ps -a           #檢視容器

docker images          #檢視映象

docker start 3da6ff4c1cd4   #啟動,最後的一串和容器中名字對應

這時候,訪問路徑: 你的IP地址:15672 (賬號密碼:guest)

小提示

如果你關機時,docker中rabbitmq容器沒有關閉,再次開啟時可能出現埠錯誤 ,記得關閉容器

docker ps          #檢視容器

docker stop xxx    #關閉容器

RabbitMQ介面管理

預設情況下,rabbitmq是沒有安裝web端的客戶端外掛,需要安裝才可以生效

rabbitmq-plugins enable rabbitmq_management

之後重啟服務

systemctl restart rabbitmq-server

之後可以進入網址:你的ip地址:15672 (例如:192.168.57.129:15672

linux ip地址檢視方法:

ifconfig

正常進入的頁面為:

說明:rabbitmq有一個預設賬號和密碼是:guest , 預設情況只能在本機( localhost )下訪問,所以需要新增一個遠端登入的使用者

首先關閉防火牆,依次輸入即可

systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
systemctl stop firewalld 

授權賬號和密碼

使用者級別 ( 設定操作許可權時使用 ):

  1. administrator:可以登入控制檯、檢視所有資訊、可以對 rabbitmq進行管理
  2. monitoring:監控者 登入控制檯,檢視所有資訊
  3. policymaker:策略制定者 登入控制檯,指定策略
  4. managment 普通管理員 登入控制檯

最後會進行解析以上級別

rabbitmqctl add_user admin admin              #新增 admin 使用者

rabbitmqctl set_user_tags admin administrator #設定使用者操作許可權
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"    #為使用者新增資源許可權

這時候使用 admin 使用者 就可以登陸成功了

小結

rabbitmqctl add_user 賬號 密碼       #新增新使用者
rabbitmqctl set_user_tags 賬號 administrator   #設定使用者操作許可權 ,administrator可更改
rabbitmqctl change_password Username Newpassword   #修改密碼
rabbitmqctl delete_user Username      #刪除使用者
rabbitmqctl list_users          #檢視使用者清單
rabbitmqctl.bat set_permissions -p /使用者名稱 ".*" "." ".*"   #為使用者新增資源許可權

RabbitMQ使用者級別

1.nono

  • 不能訪問 management plugin

2.management

  • 檢視自己相關節點資訊
  • 列出自己可以通過AMQP登入的虛擬機器
  • 檢視自己的虛擬機器節點virtual hostsqueuesexchangesbindings資訊
  • 檢視和關閉自己的 channelsconnections
  • 檢視有關自己的虛擬機器節點 virtual hosts 的統計資訊,包括其他使用者在這個節點 virtual hosts 中的活動資訊,

3.Policymaker

  • 包含management所有許可權
  • 檢視和建立和刪除自己的virtual hosts所屬的policiesparameters資訊.

4.Monitoring

  • 包含 management 所有許可權
  • 羅列出所有的virtual hosts,包括不能登入的 virtual hosts.
  • 檢視其他使用者的connectionschannels資訊
  • 檢視節點級別的資料如clusteringmemory使用情況
  • 檢視所有的virtual hosts的全域性統計資訊

5.Administrator

  • 最高許可權
  • 可以建立和刪除virtual hosts
  • 可以檢視建立和刪除users
  • 檢視建立permisssions
  • 關閉所有使用者的connections

個人部落格為:
MoYu's HomePage