1. 安装
使用docker方式,拉取镜像/rabbitmq
具体Dockerfile的命令 -> Dockerfile
额外的TIP: 由于Linux机器上会有最大打开文件个数限制,Rabbitmq又依赖文件操作,所以应将Linux的所有用户打开文件限制调高到64000,Rabbitmq程序所属的用户的打开文件限制调高到64000,这一块见官网(文件限制)
2. 虚拟主机
Rabbitmq是多租户系统,存在虚拟主机(把它想象成为数据库)的概念,用户对它的连接、队列、绑定、路由等操作是基于虚拟主机上的。通过rabbitmqctl add_vhost vhostname
命令来增加虚拟主机,rabbitmqctl delete_vhost vhostname
命令来删除虚拟主机,rabbitmqctl list_vhosts [name tracing]
命令来显示虚拟主机列表。
设置虚拟主机并发客户端总数:rabbitmqctl set_vhost_limits -p test '{"max-connections": 256}'
设置虚拟主机最大队列数:rabbitmqctl set_vhost_limits -p test '{"max-queues": 1024}'
显示虚拟主机参数:rabbitmqctl list_vhost_limits -p test
3. 启动与用户操作及权限
启动命令:service rabbitmq-server start
Rabbit提供了用户名密码的方式认证和X509证书的方式认证,,这里只记用户名密码的方式
初始用户:刚创建的实例,有默认的用户guest密码guest,但只能在本机登陆(不鼓励将其配置成能远程登陆,其他用户默认是可以远程访问的)
用户设置(官网地址 )
添加用户:rabbitmqctl add_user janeway changeit
删除用户:rabbitmqctl delete_user janeway
变更密码:rabbitmqctl change_password janeway newpass
验证用户名密码:rabbitmqctl authenticate_user janeway verifyit
显示用户列表:rabbitmqctl list_users
用户权限
设置用户TAG:rabbitmqctl set_user_tags janeway administrator
删除用户TAG:rabbitmqctl set_user_tags janeway
TIP: 用户TAG与全局权限绑定(包括登陆可视化管理界面的权限等),具体见官网(TAG权限表)
Tag | Capabilities |
---|---|
(None) | No access to the management plugin |
management | Anything the user could do via messaging protocols plus:List virtual hosts to which they can log in via AMQPView all queues, exchanges and bindings in “their” virtual hostsView and close their own channels and connectionsView “global” statistics covering all their virtual hosts, including activity by other users within them |
policymaker | Everything “management” can plus:View, create and delete policies and parameters for virtual hosts to which they can log in via AMQP |
monitoring | Everything “management” can plus:List all virtual hosts, including ones they could not access using messaging protocolsView other users’s connections and channelsView node-level data such as memory use and clusteringView truly global statistics for all virtual hosts |
administrator | Everything “policymaker” and “monitoring” can plus:Create and delete virtual hostsView, create and delete usersView, create and delete permissionsClose other users’s connections |
设置用户在虚拟主机上的权限:rabbitmqctl set_permissions -p vhostname username ".*" ".*" ".*"
后面三个参数分别表示配置权限、写权限、读权限,引号内的内容用正则表达式匹配队列键名(不指定[–vhost/-p]参数,默认主机为’/’ ,下同)
清除用户在虚拟主机上的权限:rabbitmqctl clear_permissions -p vhostname username
显示某个用户在虚拟主机上的权限:rabbitmqctl list_user_permissions
显示某个虚拟主机上的用户权限:rabbitmqctl list_permissions -p vhostname
4. 端口介绍
- 4369: epmd,