或直接用命令下载
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.13-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.6.13-1.el7.noarch.rpm
yum install erlang
yum install socat
然后顺利安装完成。
rabbitmqctl add_user {username} {password}
rabbitmqctl delete_user {username}
rabbitmqctl change_password {username} {newpassword}
rabbitmqctl list_users
超级管理员(administrator):可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
rabbitmqctl set_user_tags admin administrator
监控者(monitoring):可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等) 。
rabbitmqctl set_user_tags admin monitoring
策略制定者(policymaker) :可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。
rabbitmqctl set_user_tags admin policymaker
普通管理者(management) :仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
rabbitmqctl set_user_tags admin management
无法登陆管理控制台,通常就是普通的生产者和消费者。
rabbitmqctl set_user_tags admin haha
设置多个角色:
rabbitmqctl set_user_tags admin administrator monitoring policymaker management
rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}
conf:一个正则表达式match哪些配置资源能够被该用户访问。
write:一个正则表达式match哪些配置资源能够被该用户读。
read:一个正则表达式match哪些配置资源能够被该用户访问。
rabbitmqctl list_permissions [-p vhostPath]
rabbitmqctl list_user_permissions {username}
rabbitmqctl clear_permissions [-p vhostPath] {username}
举例:
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
rabbitmq-server start -detached
或
systemctl start rabbitmq-server
rabbitmqctl stop
或
systemctl stop rabbitmq-server
若单机有多个实例,则在rabbitmqctl h后加–n 指定名称
rabbitmqctl status
rabbitmqctl environment
rabbitmq-plugins enable {pluginname}
rabbitmq-plugins disable {pluginname}
注意:重启后生效。
rabbitmqctl add_vhost {name}
rabbitmqctl delete_vhost {name}
rabbitmqctl list_queues [-p vhostpath] [queueinfoitem …]
queueinfoitem可选: name, durable, auto_delete, arguments, messages_ready, messages_unacknowled, messages, consumers, memory等。
rabbitmqctl list_exchanges [-p vhostpath] [exchangeinfoitem …]
exchangeinfoitem可选:name, type, durable, auto_delete, internal, arguments等。
rabbitmqctl list_bindings [-p vhostpath] [bindinginfoitem …]
bindinginfoitem可选:source_name, source_kind, destination_name, destination_kind, routing_key, arguments等 。
rabbitmqctl list_connections [connectioninfoitem …]
connectioninfoitem可选:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。
rabbitmqctl list_channels [channelinfoitem …]
channelinfoitem可选:consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked等。
rabbitmq-plugins enable rabbitmq_management
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
systemctl start rabbitmq-server
访问http://服务器ip:15672,默认用户名和密码 guest
默认情况下,guest账户只能通过localhost登录。guest账户登录问题解决如下:
# 查找rabbit.app文件
find / -name rabbit.app
/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.13/ebin/rabbit.app
# 编辑rabbit.app文件
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.13/ebin/rabbit.app
# 找到 {loopback_users, [<<"guest">>]} 改为
{loopback_users, []}