1.RabbitMQ入門及安裝
1.1.概述
官網:https://www.rabbitmq.com/
什么是RabbitMQ,官方給出來這樣的解釋:
RabbitMQ is the most widely deployed open source message broker.
With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. From T-Mobile to Runtastic, RabbitMQ is used worldwide at small startups and large enterprises.
RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
RabbitMQ runs on many operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.
翻譯以后:
RabbitMQ是部署最廣泛的開源訊息代理,
RabbitMQ擁有成千上萬的用戶,是最受歡迎的開源訊息代理之一,從T-Mobile 到Runtastic,RabbitMQ在全球范圍內的小型初創企業和大型企業中都得到使用,
RabbitMQ輕巧,易于在內部和云中部署,它支持多種訊息傳遞協議,RabbitMQ可以部署在分布式和聯合配置中,以滿足大規模,高可用性的要求,
RabbitMQ可在許多作業系統和云環境上運行,并為大多數流行語言提供了廣泛的開發人員工具,
簡單概述:
RabbitMQ是一個開源的遵循AMQP協議實作的基于Erlang語言撰寫,支持多種客戶端(多語言),用于在分布式系統中存盤訊息,轉發訊息,具有高可用,高可擴性,易用性等特征,
1.2.安裝RabbitMQ
1:下載地址:https://www.rabbitmq.com/download.html
2:環境準備:CentOS7.x+ / Erlang
RabbitMQ是采用Erlang語言開發的,所以系統環境必須提供Erlang環境,第一步就是安裝Erlang,
erlang和RabbitMQ版本的按照比較: https://www.rabbitmq.com/which-erlang.html
1.3.Erlang安裝
查看系統版本號
[root@yifcloud ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 8.3.2011 Release: 8.3.2011 Codename: n/a
安裝下載
參考地址:https://www.erlang-solutions.com/downloads/
wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm rpm -Uvh erlang-solutions-2.0-1.noarch.rpm
推薦下載rpm安裝包后使用Xftp工具上傳至云服務器后安裝,
安裝erlang
yum install -y erlang
環境驗證
erl -v #查看版本號
安裝socat
yum install -y socat #rabbitmq運行依賴包
1.4.安裝rabbitmq
下載地址:https://www.rabbitmq.com/download.html

下載rabbitmq
> wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.13/rabbitmq-server-3.8.13-1.el8.noarch.rpm > rpm -Uvh rabbitmq-server-3.8.13-1.el8.noarch.rpm
啟動rabbitmq服務
# 啟動服務 > systemctl start rabbitmq-server # 查看服務狀態 > systemctl status rabbitmq-server # 停止服務 > systemctl stop rabbitmq-server # 開機啟動服務 > systemctl enable rabbitmq-server
1.5.RabbitMQ的配置
RabbitMQ默認情況下有一個組態檔,定義了RabbitMQ的相關配置資訊,默認情況下能夠滿足日常的開發需求,如果需要修改需要,需要自己創建一個組態檔進行覆寫,
參考官網:
1:https://www.rabbitmq.com/documentation.html
2:https://www.rabbitmq.com/configure.html
3:https://www.rabbitmq.com/configure.html#config-items
4:https://github.com/rabbitmq/rabbitmq-server/blob/add-debug-messages-to-quorum_queue_SUITE/docs/rabbitmq.conf.example
相關埠
5672:RabbitMQ的通訊埠
25672:RabbitMQ的節點間的CLI通訊埠是
15672:RabbitMQ HTTP_API的埠,管理員用戶才能訪問,用于管理RabbitMQ,需要啟動Management插件,
1883,8883:MQTT插件啟動時的埠,
61613、61614:STOMP客戶端插件啟用的時候的埠,
15674、15675:基于webscoket的STOMP埠和MOTT埠
一定要注意:RabbitMQ 在安裝完畢以后,會系結一些埠,如果你購買的是阿里云或者騰訊云相關的服務器一定要在安全組中把對應的埠添加到防火墻,
2.RabbitMQWeb管理界面及授權操作
2.1.RabbitMQ管理界面
默認情況下,rabbitmq是沒有安裝web端的客戶端插件,需要安裝才可以生效:
rabbitmq-plugins enable rabbitmq_management
說明:rabbitmq有一個默認賬號和密碼是:guest 默認情況只能在localhost本機下訪問,所以需要添加一個遠程登錄的用戶,
安裝完畢以后,重啟服務即可
systemctl restart rabbitmq-server
一定要記住,在對應服務器(阿里云,騰訊云等)的安全組中開放15672的埠,
完成后,在瀏覽器訪問:
http://ip:15672/ 如下:
2.2.授權賬號和密碼
新增用戶
rabbitmqctl add_user admin admin
設定用戶分配操作權限
rabbitmqctl set_user_tags admin administrator # administrator表示用戶級別
用戶級別
- 1、administrator 可以登錄控制臺、查看所有資訊、可以對rabbitmq進行管理
- 2、monitoring 監控者 登錄控制臺,查看所有資訊
- 3、policymaker 策略制定者 登錄控制臺,指定策略
- 4、managment 普通管理員 登錄控制臺
為用戶添加資源權限
rabbitmqctl.bat set_permissions -p / admin ".*" ".*" ".*"
小結:
rabbitmqctl add_user 賬號 密碼 rabbitmqctl set_user_tags 賬號 administrator rabbitmqctl change_password Username Newpassword #修改密碼 rabbitmqctl delete_user Username #洗掉用戶 rabbitmqctl list_users #查看用戶清單 rabbitmqctl set_permissions -p / 用戶名 ".*" ".*" ".*" #為用戶設定administrator角色 rabbitmqctl set_permissions -p / root ".*" ".*" ".*" #為用戶設定roor權限
3.RabbitMQ之Docker安裝
3.1.Docker安裝RabbitMQ
虛擬化容器技術—Docker的安裝
(1)yum 包更新到最新 > yum update (2)安裝需要的軟體包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的 > yum install -y yum-utils device-mapper-persistent-data lvm2 (3)設定yum源為阿里云 > yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo (4)安裝docker > yum install docker-ce -y (5)安裝后查看docker版本 > docker -v (6) 安裝加速鏡像 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://0wrdwnn6.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart 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
安裝rabbitmq鏡像
參考網站:
1:https://www.rabbitmq.com/download.html
2:https://registry.hub.docker.com/_/rabbitmq/
獲取rabbit鏡像:
docker pull rabbitmq:management
創建并運行容器
docker run -di --name=myrabbit -p 15672:15672 rabbitmq:management
--hostname:指定容器主機名稱
--name:指定容器名稱
-p:將mq埠號映射到本地
或者運行時設定用戶和密碼
docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
查看日志
docker logs -f myrabbit
容器運行正常,即可登錄頁面訪問
使用 http://你的IP地址:15672 訪問rabbit控制臺
3.2.額外Linux相關排查命令
> more xxx.log #查看日記資訊 > netstat -naop | grep 5672 #查看埠是否被占用 > ps -ef | grep 5672 #查看行程 > systemctl stop 服務名 #停止運行中的服務
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/276575.html
標籤:其他

