1. 安裝 Erlang
Rabbitmq 的運行需要 Erlang 環境,首先安裝 Erlang。
# erlang19.3版本與Rabbitmq3.6.9兼容
wget http://erlang.org/download/otp_src_19.3.tar.gz
# 解壓
tar -zxf otp_src_19.3.tar.gz
cd otp_src_19.3
# 編譯並安裝
./configure && make && make install
# 驗證
erl
可能會用到
vim /etc/profile
export PATH=$PATH:/usr/local/lib/erlang/bin
source /etc/profile
2.安裝rabbitmq
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-3.6.9-1.el6.noarch.rpm
rpm -Uvh rabbitmq-server-3.6.9-1.el6.noarch.rpm
如果出現
警告:rabbitmq-server-3.6.9-1.el6.noarch.rpm: 頭V4 RSA/SHA512 Signature, 密鑰 ID 6026dfca: NOKEY
錯誤:依賴檢測失敗:
erlang >= R16B-03 被 rabbitmq-server-3.6.9-1.el6.noarch 需要
socat 被 rabbitmq-server-3.6.9-1.el6.noarch 需要
解決方式:
添加–nodeps你的rpm命令,參考連接:StackOverflow問答
rpm -ivh --nodeps rabbitmq-server-3.6.9-1.el6.noarch.rpm
繼續
yum -y install socat
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum -y install rabbitmq-server-3.6.9-1.noarch.rpm
啓動
rabbitmq-server start
# 啓動RabbitMQ服務並在後臺運行
rabbitmq-server start -detached
# 開機自啓動
chkconfig rabbitmq-server on
# 開啓圖形界面支持:
rabbitmq-plugins enable rabbitmq_management
常用命令
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server status
service rabbitmq-server rotate-logs|
service rabbitmq-server restart
service rabbitmq-server condrestart
service rabbitmq-server try-restart
service rabbitmq-server reload
service rabbitmq-server force-reload
ps -ef | grep rabbitmq
netstat -anplt | grep LISTEN #rabbitmq默認監聽端口15672/5672
ls / #如果有lib64或這個目錄,那操作系統就是64位的
uname -a #若爲X86示意爲64位系統,i386等位32位系統
ps aux | grep rabbit | grep -v grep
錯誤解決
- 如果出現
erl: command not found
解決辦法:將 export PATH=$PATH:/usr/local/lib/erlang/bin 添加到 錯誤文件的指定的行中
用戶角色
RabbitMQ各類角色描述:
-
none
不能訪問 management plugin -
management
用戶可以通過AMQP做的任何事外加:
列出自己可以通過AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和關閉自己的channels 和 connections
查看有關自己的virtual hosts的“全局”的統計信息,包含其他用戶在這些virtual hosts中的活動。 -
policymaker
management可以做的任何事外加:
查看、創建和刪除自己的virtual hosts所屬的policies和parameters -
monitoring
management可以做的任何事外加:
列出所有virtual hosts,包括他們不能登錄的virtual hosts
查看其他用戶的connections和channels
查看節點級別的數據如clustering和memory使用情況
查看真正的關於所有virtual hosts的全局的統計信息 -
administrator
policymaker和monitoring可以做的任何事外加:
創建和刪除virtual hosts
查看、創建和刪除users
查看創建和刪除permissions
關閉其他用戶的connections
添加用戶
# 可以創建用戶
rabbitmqctl add_user admin pwd
# 賦予其administrator角色:
rabbitmqctl set_user_tags admin administrator
# 設置權限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
# 查看用戶權限列表
rabbitmqctl list_users
其他命令
# 在rabbitmq的內部數據庫添加用戶;
add_user <username> <password>
# 刪除一個用戶;
delete_user <username>
# 改變用戶密碼(也是改變web管理登陸密碼);
change_password <username> <newpassword>
# 清除用戶的密碼,該用戶將不能使用密碼登陸,但是可以通過SASL登陸如果配置了SASL認證;
clear_password <username>
# 設置用戶tags;
set_user_tags <username> <tag> ...
# 列出用戶;
list_users
# 創建一個vhosts;
add_vhost <vhostpath>
# 刪除一個vhosts;
delete_vhost <vhostpath>
# 列出vhosts;
list_vhosts [<vhostinfoitem> ...]
# 針對一個vhosts給用戶賦予相關權限;
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
# 清除一個用戶對vhosts的權限;
clear_permissions [-p <vhostpath>] <username>
# 列出哪些用戶可以訪問該vhosts;
list_permissions [-p <vhostpath>]
# 列出該用戶的訪問權限;
list_user_permissions <username>
set_parameter [-p <vhostpath>] <component_name> <name> <value>
clear_parameter [-p <vhostpath>] <component_name> <key>
list_parameters [-p <vhostpath>]