1. rpm 簽名導入
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
2. 安裝rabbitmq_erlang, 僅支持rabbitmq的erlang
2.1 rabbitmq_erlang.repo 文件創建
命令行執行:
# 1. 創建文件
touch /etc/yum.repos.d/rabbitmq_erlang.repo
# 2. 編輯文件
vim /etc/yum.repos.d/rabbitmq_erlang.repo
內容如下:
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
2.2 安裝:
yum install erlang
3. 安裝RabbitMQ
3.1. 配置rabbitmq yum 源
# 1. 創建文件
touch /etc/yum.repos.d/rabbitmq.repo
# 2. 編輯文件
vim /etc/yum.repos.d/rabbitmq.repo
內容:
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
3.2 使用rpm 下載RPM文件
# 1. 下載rpm安裝包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.17/rabbitmq-server-3.7.17-1.el7.noarch.rpm
# 2. 安裝rpm
yum install rabbitmq-server-3.7.17-1.el7.noarch.rpm
3.3. 開機啓動
chkconfig rabbitmq-server on
注:
參考文檔:
4. RabbitMQ 管理
# 1. 啓動
/sbin/service rabbitmq-server start
# 2. 停止
/sbin/service rabbitmq-server stop
# 3. 狀態
/sbin/service rabbitmq-server status
5. RabbitMQ 插件管理
5.1 插件列表
# 1. 定位sbin 目錄
cd /sbin/
# 2. 插件列表
./rabbitmq-plugins list
5.2 啓動管理插件
# 1. 瀏覽器管理頁面
rabbitmq-plugins enable rabbitmq_management
# 2. stomp 協議支持
rabbitmq-plugins enable rabbitmq_stomp
注意,插件激活不需要重啓
管理插件訪問地址:http://127.0.0.1:15672/
用戶管理
# 1. 添加用戶
rabbitmqctl add_user admin admim
# 2. 刪除用戶
rabbitmqctl delete_user admin
# 3. 用戶列表
rabbitmqctl list_users
# 4. 修改密碼
rabbitmqctrl change_password admin admin123
# 5. 用戶分配角色
rabbitmqctl set_user_tags admin administrator
# 6. 爲用戶分配權限
# 使用戶user1具有vhost1這個virtual host中所有資源的配置、寫、讀權限以便管理其中的資源
rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*'
注意:
- 爲了安全最好刪除guest用戶
- 建立用戶之後需要設置角色和分配權限,vhost1 可以使用默認的 “/”
角色說明:
爲用戶添加權限,已經基本可以滿足我們的需求了,但有時,我們可以使用系統預置的角色,爲用戶賦予角色,那麼該用戶也就擁有了該角色所賦予的所有權限了,在 RabbitMQ 中,角色大致分爲超級管理員、監控者、策略制定者、普通管理者以及其他,它們的區別是什麼?(1) 超級管理員(administrator)
可登陸管理控制檯(啓用managementplugin的情況下),可查看所有的信息,並且可以對用戶,策略(policy)進行操作。(2) 監控者(monitoring)
可登陸管理控制檯(啓用managementplugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)(3) 策略制定者(policymaker)
可登陸管理控制檯(啓用managementplugin的情況下),同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。(4) 普通管理者(management)
僅可登陸管理控制檯(啓用managementplugin的情況下),無法看到節點信息,也無法對策略進行管理。
6. RabbitMQ配置
通常配置文件放在:/etc/rabbitmq/rabbitmq.conf
配置文件注意:
- 一個配置佔一行
- 配置結果 key = value
- # 開頭爲的註釋行
例如修端口如下
# 默認監聽端口
listeners.tcp.default = 5673
# 修改STOMP默認端口61613修改爲51513
stomp.listeners.tcp.1 = 0.0.0.0:51513
常用配置參考:https://www.rabbitmq.com/configure.html#config-location
GitHub配置文件Demo: https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example