rabbitmq環境搭建與常規配置
1 安裝
1.1安裝erlang
rabbitmq是採用erlang開發的,所以需要安裝erlang環境
如果直接下載rpm包安裝,會碰到一大堆依賴問題,解決起來比較麻煩,建議新增yum源,通過yum來安裝。
1. 下載erlang對應的yum源:
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
2. 安裝erlang的yum源:
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
3. 檢視可用的erl版本:太舊的會報錯,建議用較新的,我採用的是19.3的版本
[[email protected] rabbitmq]# yum list erlang --showduplicates
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
erlang.x86_64 19.3-1.el7.centos @erlang-solutions
Available Packages
erlang.x86_64 R16B-03.18 .el7 epel
erlang.x86_64 17.1-1.1.el7.centos erlang-solutions
erlang.x86_64 17.1-3.el7.centos erlang-solutions
erlang.x86_64 17.3-1.el7.centos erlang-solutions
erlang.x 86_64 17.4-1.el7.centos erlang-solutions
erlang.x86_64 17.5-1.el7.centos erlang-solutions
erlang.x86_64 17.5.3-1.el7.centos erlang-solutions
erlang.x86_64 18.0-1.el7.centos erlang-solutions
erlang.x86_64 18.1-1.el7.centos erlang-solutions
erlang.x86_64 18.2-1.el7.centos erlang-solutions
erlang.x86_64 18.3-1.el7.centos erlang-solutions
erlang.x86_64 19.0-1.el7.centos erlang-solutions
erlang.x86_64 19.1-1.el7.centos erlang-solutions
erlang.x86_64 19.2-1.el7.centos erlang-solutions
erlang.x86_64 19.3-1.el7.centos erlang-solutions
erlang.x86_64 20.0-1.el7.centos erlang-solutions
erlang.x86_64 20.1-1.el7.centos erlang-solutions
[[email protected] rabbitmq]#
- 安裝指定版本的erlang:
yum install erlang-19.3-1.el7.centos - 檢視erlang安裝是否成功:出現如下提示表示成功
[[email protected] rabbitmq]# erl
Erlang/OTP 19 [erts-8.3][source-d5c06c6][64-bit][smp:4:4][async-threads:10][hipe][kernel-poll:false]
Eshell V8.3 (abort with ^G)
1>
1.2安裝socat
yum install -y socat
1.3安裝rabbitmq
2 配置
2.1配置檔案路徑
配置有三種方法,優先順序從大到小:
1. 讀取環境變數中的引數或執行命令時直接指定;
2. 讀取rabbitmq-env.conf環境檔案;
3. 讀取rabbitmq.config配置檔案;
2.2使用者管理
新增一個使用者
rabbitmqctl add_user Username Password
刪除一個使用者
rabbitmqctl delete_user Username
修改使用者的密碼
rabbitmqctl change_password Username Newpassword
檢視當前使用者列表
rabbitmqctl list_users
給使用者新增角色
rabbitmqctl set_user_tags username rolename
使用者角色
(1) 超級管理員(administrator)
可登陸管理控制檯(啟用management plugin的情況下),可檢視所有的資訊,並且可以對使用者,策略(policy)進行操作。
(2) 監控者(monitoring)
可登陸管理控制檯(啟用management plugin的情況下),同時可以檢視rabbitmq節點的相關資訊(程序數,記憶體使用情況,磁碟使用情況等)
(3) 策略制定者(policymaker)
可登陸管理控制檯(啟用management plugin的情況下), 同時可以對policy進行管理。但無法檢視節點的相關資訊(上圖紅框標識的部分)。與administrator的對比,administrator能看到這些內容
(4) 普通管理者(management)
僅可登陸管理控制檯(啟用management plugin的情況下),無法看到節點資訊,也無法對策略進行管理。
(5) 其他
無法登陸管理控制檯,通常就是普通的生產者和消費者。
2.3 virtual host管理
新建virtual host
rabbitmqctl add_vhost xxx
刪除virtual host
rabbitmqctl delete_vhost xxx
給使用者授權訪問virtual host
rabbitmqctl set_permissions -p /lemon rabbitmq '.*' '.*' '.*'
2.4 服務啟停
啟動服務
rabbitmq-server –detached
關閉服務
rabbitmqctl stop
啟用某外掛
rabbitmq-plugins enable plugname
停用某外掛
rabbitmq-plugins disable plugname
2.5啟用WEB控制檯
在3.3.1和之後的版本中,出於安全的考慮,guest這個預設的使用者只能通過http://localhost:15672 來登入,其他的IP無法直接使用這個賬號。
只要編輯 /etc/rabbitmq/rabbitmq.config 檔案,新增以下配置就可以了。
[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, []}]}
].
注意:
1. 最後的.一定要,不然會報錯;
2. loopback_users設定為空:[],則所有的使用者都可以登陸;
3. 記得重啟服務;