一、基礎安裝
1、基礎環境
CentOS7.x + Erlang + RabbitMQ
注意版本,不同版本的RabbitMQ,對應不同的erlang版本
二、安裝Erlang環境
1、查看系統版本號
[root@localhost rabbitmq]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009
Codename: Core
# 如果提示命令不存在,則執行下述命令進行安裝
yum install redhat-lsb -y
2、安裝下載
1、安裝erlang環境
方式一:
參考地址:https://packagecloud.io/rabbitmq/erlang
# 執行命令安裝倉庫
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
# 執行命令安裝
sudo yum install erlang-23.3.4.6-1.el7.x86_64
方式二:
參考地址: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
# yum安裝erlang
yum install -y erlang
# 安裝成功查看版本號
erl -v
2、安裝socat依賴
yum install -y socat
三、安裝RabbitMQ
參考地址:https://packagecloud.io/rabbitmq/rabbitmq-server
或者: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.9.5
# 執行下載
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.5/rabbitmq-server-3.9.5-1.el7.noarch.rpm
# 執行安裝
rpm -Uvh rabbitmq-server-3.9.5-1.el7.noarch.rpm
yum install rabbitmq-server -y
# 啟動rabbitmq
systemctl start rabbitmq-server
# 重新啟動rabbitmq
systemctl restart rabbitmq-server
# 設置為開機自啟動
systemctl enable rabbitmq-server
# 查看rabbitmq的狀態
systemctl status rabbitmq-server
# 停止rabbitmq
systemctl stop rabbitmq-server
四、安裝桌面管理插件
默認情況下,rabbitmq是沒有安裝web端的客戶端插件,需要安裝才可以生效
# 安裝插件
rabbitmq-plugins enable rabbitmq_management
# 安裝完畢重啟服務
systemctl restart rabbitmq-server
# 訪問:http://ip:15672
說明:rabbitmq有一個默認賬號和密碼是:guest,默認情況下只能在localhost本機下訪問,所以需要添加一個遠程登錄的用戶
# 新增用戶
rabbitmqctl add_user admin admin
# 設置用戶分配操作權限
rabbitmqctl set_user_tags admin administrator
# 用戶級別
# administrator:可以登錄控制台,查看所有信息,可以對rabbitmq進行管理
# monitoring:監控者,登錄控制台,查看所有信息
# policymaker:策略制定者,登錄控制台,指定策略
# managment:普通管理員,登錄控制台
# 為用戶添加資源權限
# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
# 其他命令
# 修改密碼
rabbitmqctl change_password username newpassword
# 刪除用戶
rabbitmqctl delete_user username
# 查看用戶清單
rabbitmqctl list_users
五、RabbitMQ角色分類
1、none
特點:
- 不能訪問management plugin
2、management:查看自己相關節點信息
特點:
- 列出自己可以通過AMQP登入的虛擬機
- 查看自己的虛擬機節點,virtual hosts的queues,exchanges和binding信息
- 查看和關閉自己的channels和connections
- 查看有關自己的虛擬機節點virtual hosts的統計信息,包括其他用戶在這個節點virtual hosts的活動信息
3、Policymaker
特點:
- 包含management所有權限
- 查看和創建和刪除自己的virtual hosts所屬的policies和parameters信息
4、Monitoring
特點:
- 包含management所有權限
- 羅列出所有的virtual hosts,包含不能登錄的virtual hosts
- 查看其他用戶的connections和channels信息
- 查看節點級別的數據和clustering和memory使用情況
- 查看所有的virtual hosts的全局統計信息
5、Administrator
特點:
- 最高權限
- 可以創建和刪除virtual hosts
- 可以查看,創建和刪除users
- 查看創建permissions
六、RabbitMQ和erlang卸載
# 卸載erlang
yum list | grep erlang
yum -y remove erlang-*
rm -rf /usr/lib64/erlang
# 卸載RabbitMQ
yum list | grep rabbitmq
yum -y remove rabbitmq-server.noarch
find / -name rabbit*
rm -rf 依次刪除