- 安裝erlang
rpm -Uvh https://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
- 測(cè)試是否安裝成功
erl -version
--------------
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 8.0.3
- 安裝rabbitmq
rpm -Uvh https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
安裝時(shí)提示缺少socat,如下:
error: Failed dependencies:
socat is needed by rabbitmq-server-3.6.10-1.el7.noarch
使用yum install socat安裝socat后繼續(xù)安裝rabbitmq
- 插件安裝
cd /usr/sbin
# 查看已安裝的插件
./rabbitmq-plugins list
看到已經(jīng)安裝了web管理插件rabbitmq_management
啟用插件
rabbitmq-plugins enable rabbitmq_management
rabbitmq的啟動(dòng)停止等命令:
service rabbitmq-server start
service rabbitmq-server restart
service rabbitmq-server stop
rabbitmqctl status # 查看狀態(tài)
- 創(chuàng)建rabbitmq用戶
創(chuàng)建用戶
rabbitmqctl list_users
# 表示列出所有用戶名信息
rabbitmqctl add_user {username} {password}
# {username} 表示用戶名; {password}表示用戶密碼
rabbitmqctl delete_user {username}
# 表示刪除一個(gè)用戶
rabbitmqctl change_password {username} {newpassword}
# 表示修改指定的用戶的密碼
rabbitmqctl set_user_tags {username} {tag ...}
# 表示設(shè)置用戶的角色,{tag}可以是零個(gè),一個(gè),或者是多個(gè)。并且已經(jīng)存在的tag也將會(huì)被移除。
為用戶分配vhost權(quán)限
rabbitmqctl list_vhosts {vhostinfoitem ...}
# 表示列出所有的vhost。其中 {vhostinfoitem} 表示要展示的vhost的字段信息,展示的結(jié)果將按照 {vhostinfoitem} 指定的字段順序展示。這些字段包括: name(名稱) 和 tracing (是否為此vhost啟動(dòng)跟蹤)。
# 如果沒(méi)有指定具體的字段項(xiàng),那么將展示vhost的名稱。
rabbitmqctl add_vhost {vhost}
#{vhost} 表示待創(chuàng)建的虛擬主機(jī)項(xiàng)的名稱
rabbitmqctl delete_vhost {vhost}
# 表示刪除一個(gè)vhost。
# 刪除一個(gè)vhost將會(huì)刪除該vhost的所有exchange、queue、binding、用戶權(quán)限、參數(shù)和策略。
rabbitmqctl set_permissions [-p vhost] {user} {conf} {write} {read}
# 表示設(shè)置用戶權(quán)限。
# {vhost} 表示待授權(quán)用戶訪問(wèn)的vhost名稱,默認(rèn)為 "/";
# {user} 表示待授權(quán)訪問(wèn)特定vhost的用戶名稱;
# {conf}表示待授權(quán)用戶的配置權(quán)限,是一個(gè)匹配資源名稱的正則表達(dá)式;
# {write} 表示待授權(quán)用戶的寫(xiě)權(quán)限,是一個(gè)匹配資源名稱的正則表達(dá)式;
# {read}表示待授權(quán)用戶的讀權(quán)限,是一個(gè)資源名稱的正則表達(dá)式。
# rabbitmqctl set_permissions -p / admin "^mip-.*" ".*" ".*"
# 例如上面例子,表示授權(quán)給用戶 "admin" 具有所有資源名稱以 "mip-" 開(kāi)頭的 配置權(quán)限,所有資源的寫(xiě)權(quán)限和讀權(quán)限。
rabbitmqctl clear_permissions [-p vhost] {username}
# 表示設(shè)置用戶拒絕訪問(wèn)指定指定的vhost,vhost默認(rèn)值為 "/"
rabbitmqctl list_permissions [-p vhost]
# 表示列出具有權(quán)限訪問(wèn)指定vhost的所有用戶、對(duì)vhost中的資源具有的操作權(quán)限
rabbitmqctl list_user_permissions {username}
# 表示列出指定用戶的權(quán)限vhost,和在該vhost上的資源可操作權(quán)限。
使用rabbitmqctl list_users查看guest的角色
使用rabbitmqctl list_user_permissions guest查看guest用戶的權(quán)限
參照guset創(chuàng)建用戶
# 創(chuàng)建vhost名為test
rabbitmqctl add_vhost test
# 創(chuàng)建用戶admin,密碼admin
rabbitmqctl add_user admin admin
# 賦予用戶admin管理員administrator角色
rabbitmqctl set_user_tags admin administrator
# 賦予用戶admin在 test和/ 下的權(quán)限
rabbitmqctl set_permissions -p test admin ".*" ".*" ".*"
rabbitmqctl set_permissions admin ".*" ".*" ".*"
- 訪問(wèn)http://ip/15672,使用admin登錄