Rabbitmq常用命令
启动/停止 service rabbitmq-server start/stop
查看服务状态 service rabbitmq-server status
设置为开机启动 chkconfig rabbitmq-server on
第二种方式vi/etc/init.d/boot.local 添加以下内容
/opt/app/rabbitmq_server-3.6.1/sbin/rabbitmq-server -detached
查看状态 rabbitmqctl status 可以查看到缺省监听端口
用户管理部分:
查看用户列表: rabbitmqctl list_user
创建用户 rabbitmqctl add_user {username} {password}
--username 要创建的用户名 password设置创建用户登录broker的密码
删除用户 rabbitmqctl delete_user {username}
修改密码 rabbitmqctl change_password {username} {newpassword}
--username要修改密码的用户名称newpassword用户的新密码
清除密码 rabbitmqctl clear_password {username} 要清除密码的用户名称
验证用户 rabbitmqctl authenticate_user {username} {password}
设置用tags rabbitmqctl set_user_tags {username} {tags...}
这里的tags可以理解为角色,不同的角色有不同的权限
例: rabbitmqctl set_user_tags wxj administrator就可以在rabbitmq页面通过wxj wxj的密码来登录
删除用户tags rabbitmqctl set_user_tags {username}
例rabbitmqctl set_user_tags wxj 上面wxj可以登录rabbitmq页面,现在移除后不能登录
Tags种类:none、management、policymaker【】、monitoring【监控用户】、administrator[管理员]
1、None
没有权限,不能访问management plugin即不能登录rabbitmq ui管理页面
2、Management【普通管理者】
用户可以通过AMQP(消息中间件协议)做的任何事,还可以做
列出自己可以通过AMQP登入的virtual hosts
查看自己的virtual hosts中的queues,exchanges和bindings
查看和关闭自己的channel和connections
查看有关自己的virtual hosts的全局的统计信息,包含其他用户在这些virtual hosts中的活动。
3、Policymaker【策略制定者】
management的所有权限+以下内容
查看、创建和删除自己的virtual hosts所属的policies 和parameters
4、Monitoring【监控者】
management的所有权限+以下内容
列出所有的virtual host,包括他们不能登录的virtual host
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息
5、Adminstrator【超级管理员】
policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections
用户权限:
查看用户权限 rabbitmqctl list_permissions [-p VHostPath]
查看指定用户权限信息 rabbitmqctl list_user_permissions User
设置用户权限 rabbitmqctl set_permissions <user>’.*’ ’.*’ ’.*’ (<conf><write><read>,正则表达式,‘*’表示所有权限)
conf 一个正则表达式match 哪些配置资源能够被该用户访问
write 一个正则表达式match哪些配置资源能够被该用户写
read 一个正则表达式match哪些配置资源能够被该用户访问
清除用户权限 rabbitmqctl clear_permissions [-p VHostPath] <User>
创建虚拟主机 rabbitmqctl add_vhost {vhost} vhost 要创建的虚拟主机名称
删除虚拟主机 rabbitmqctl delete_host {vhost} vhost要创建的虚拟主机名称
列出所有虚拟主机 rabbitmqctl list_vhosts [chostinfoitem...] chostinfoitem参数用于标识哪些虚拟主机应该包含在结果集中,结果集中的列顺序会匹配参数的顺序.vhostinfoitem 可接受下面的值:
name
虚拟主机的名称.
tracing
是否对虚拟主机启用追踪.
set_permissions [-p vhost] {user} {conf} {write} {read}
vhost
授予用户可访问的虚拟机名称,默认是/.
user
可访问指定虚拟主机的用户名称.
conf
一个用于匹配用户在哪些资源名称上拥有配置权限的正则表达式
write
一个用于匹配用户在哪些资源名称上拥有写权限的正则表达式.
read
一个用于匹配用户在哪些资源名称上拥有读权限的正则表达式.
设置用户权限.
例如:
rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*" ".*" ".*"
此命令表示RabbitMQ broker授予tonyg 用户可访问 /myvhost虚拟主机,并在资源名称以"tonyg-"开头的所有资源上都具有配置权限,并在所有资源上都拥有读写权限。
clear_permissions [-p vhost] {username}