RabbitMq 管理后台使用方式:
发送消息:需要设置发送属性:content_type=text/plain
payload里面填写数值。
rabbitMq新增用户:
创建用户
rabbitmqctl add_user {用户名} {密码}
// 设置权限
rabbitmqctl set_user_tags {用户名} {权限}
例:创建一个超级用户
rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator
查看用户列表
rabbitmqctl list_users
为用户赋权
// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*'
// 查看权限
rabbitmqctl list_user_permissions user1
rabbitmqctl list_permissions -p vhost1
// 清除权限
rabbitmqctl clear_permissions [-p VHostPath] User
删除用户
rabbitmqctl delete_user Username
修改用户的密码
rabbitmqctl change_password Username Newpassword
异常信息如下:
Exception in thread "main" java.io.IOException
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:106)
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:102)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:124)
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:376)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:603)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:625)
at com.gdf.example.rabbitmq.helloworld.Send.main(Send.java:20)
Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - access to vhost '/' refused for user 'admin', class-id=10, method-id=40)
at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67)
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:33)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:348)
at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:221)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:118)
原因:admin用户没有访问权限"/"
问题解决:
rabbitmqctl set_permissions -p / admin '.*' '.*' '.*' #为admin用户分配读、写、配置权限;
===========================================================================================
CentOS7 安装RabbitMQ
第一、下载erlang和rabbitmq-server的rpm:
http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
注:如果遇到下载缓慢,可以尝试使用百度云盘的离线下载
然后,把下载的rpm文件都放到一个文件夹中,方便安装
第二、安装erlang:
rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
测试是否安装成功:
第三、安装rabbitmq:
rpm -ivh rabbitmq-server-3.6.6-1.el7.noarch.rpm
在安装rabbitmq时提示依赖socat
yum install socat
然后再次安装rabbitmq
第四、启动和关闭:
/sbin/service rabbitmq-server stop #关闭
/sbin/service rabbitmq-server start #启动
/sbin/service rabbitmq-server status #状态
第五、cd 到/sbin目录下:
./rabbitmq-plugins list
./rabbitmqctl status
第六、其他
开启web插件
rabbitmq-plugins enable rabbitmq_management
访问:http://127.0.0.1:15672/
默认账号密码:guest guest(这个账号只允许本机访问)
rabbitMq新增用户:
创建用户
rabbitmqctl add_user {用户名} {密码}
// 设置权限
rabbitmqctl set_user_tags {用户名} {权限}
例:创建一个超级用户
rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator
查看用户列表
rabbitmqctl list_users
为用户赋权
// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*'
// 查看权限
rabbitmqctl list_user_permissions user1
rabbitmqctl list_permissions -p vhost1
// 清除权限
rabbitmqctl clear_permissions [-p VHostPath] User
删除用户
rabbitmqctl delete_user Username
修改用户的密码
rabbitmqctl change_password Username Newpassword