CentOS 7 Yum安裝 RabbitMQ 3.x

2020-08-12 16:15:38

本文爲單機部署步驟,參考自RabbitMQ官方文件: Installing on RPM-based Linux
本文部分內容借鑑自 @總要做些什麼 的 《RabbitMQ許可權》 一文總結所寫: https://www.cnblogs.com/shangpolu/p/8275126.html

  1. 下載並安裝RabbitMQ官方提供的Erlang語言(安裝Erlang語言環境包括但不限於該種方法,這裏只示範最精簡的一種)。
// 下載Erlang語言
// a.GitHub託管站下載
shell> wget https://github.com/rabbitmq/erlang-rpm/releases/download/v22.3.4.5/erlang-22.3.4.5-1.el7.x86_64.rpm
// b.Bintray託管站下載
shell> wget https://bintray.com/rabbitmq-erlang/rpm/download_file?file_path=erlang%2F22%2Fel%2F7%2Fx86_64%2Ferlang-22.3.4.5-1.el7.x86_64.rpm

// 安裝Erlang語言
shell> rpm -Uvh erlang-22.3.4.5-1.el7.x86_64.rpm

Erlang語言 GitHub託管站下載地址: https://github.com/rabbitmq/erlang-rpm/releases
Erlang語言 Bintray託管站下載地址: https://bintray.com/rabbitmq-erlang/rpm/erlang
自行根據環境選擇合適版本下載(不會魔法的最好去Bintray下載)
關於Erlang與RabbitMQ版本的相容性情況,詳情請參閱: https://www.rabbitmq.com/which-erlang.html

  1. 匯入RabbitMQ RPM包簽名金鑰,下載並安裝RabbitMQ。
// 匯入RabbitMQ RPM包簽名金鑰
// a.GitHub託管站匯入
shell> rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
// b.RabbitMQ官方匯入
shell> rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

// 下載RabbitMQ
// a.GitHub託管站下載
shell> wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.6/rabbitmq-server-3.8.6-1.el7.noarch.rpm
// b.Bintray託管站下載
shell> wget https://bintray.com/rabbitmq/rpm/download_file?file_path=rabbitmq-server%2Fv3.8.x%2Fel%2F7%2Fnoarch%2Frabbitmq-server-3.8.6-1.el7.noarch.rpm

// 安裝RabbitMQ
shell> yum -y install rabbitmq-server-3.8.6-1.el7.noarch.rpm

RabbitMQ GitHub託管站下載地址: https://github.com/rabbitmq/rabbitmq-server/releases
RabbitMQ Bintray託管站下載地址: https://bintray.com/rabbitmq/rpm/rabbitmq-server
自行根據環境選擇合適版本下載(不會魔法的最好去Bintray下載)

  1. 啓動RabbitMQ伺服器,啓用RabbitMQ管理控制檯外掛。
shell> systemctl start rabbitmq-server
shell> systemctl status rabbitmq-server
shell> rabbitmq-plugins enable rabbitmq_management
shell> systemctl restart rabbitmq-server
  1. 新增新使用者,分配許可權和角色。
// 新增使用者
shell> rabbitmqctl add_user username password
// 分配許可權
shell> rabbitmqctl set_permissions -p "/" username ".*" ".*" ".*"
// 分配角色
shell> rabbitmqctl set_user_tags username administrator
// 檢視使用者
shell> rabbitmqctl list_users
  1. 開放firewall防火牆5672和15672埠。
// 開放5672埠
shell> firewall-cmd --add-port=5672/tcp --zone=public --permanent
// 開放15672埠
shell> firewall-cmd --add-port=15672/tcp --zone=public --permanent
// 重新啓動防火牆
shell> firewall-cmd --reload

至此安裝完成。

  1. 附錄(以上安裝過程用到語法的解釋,非安裝步驟)。
// 啓用外掛
shell> rabbitmq-plugins enable 外掛名
shell> rabbitmq-plugins enable rabbitmq_management
// 新增使用者
shell> rabbitmqctl add_user 使用者名稱 密碼
shell> rabbitmqctl add_user username password
// 分配許可權
shell> rabbitmqctl set_permissions -p vhost路徑 使用者名稱 "交換機和佇列的設定許可權" "訊息寫許可權" "訊息讀許可權"
shell> rabbitmqctl set_permissions -p "/" username ".*" ".*" ".*"
// 分配角色組
shell> rabbitmqctl set_user_tags 使用者名稱 角色組
shell> rabbitmqctl set_user_tags username administrator
角色組說明:
:  administrator:超級管理員(可以登錄管理控制檯,可以檢視所有資訊,可以進行所有操作。)
:  monitoring:監控者(可以登錄管理控制檯,可以檢視RabbitMQ節點的相關資訊。)
:  policymaker:決策者(可以登錄管理控制檯,可以檢視策略並進行操作。)
:  management:管理員(可以登錄管理控制檯,但只能看一些全域性的統計資訊。)
:  none:最小許可權(不能登錄管理控制檯,用戶端使用。)