1. 程式人生 > >rabbitmq環境搭建與常規配置

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]#
  1. 安裝指定版本的erlang:
    yum install erlang-19.3-1.el7.centos
  2. 檢視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. 記得重啟服務;