参考:https://blog.csdn.net/haeasringnar/article/details/82715823?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
https://www.cnblogs.com/shuzhengyi/p/4280102.html
https://blog.csdn.net/cnxieyang/article/details/52710967
由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令:
apt-get install erlang-nox # 安装erlang erl # 查看relang语言版本,成功执行则说明relang安装成功
退出erl:
安装 RabbitMQ
sudo apt-get install rabbitmq-server
查看状态
systemctl status rabbitmq-server #Active: active (running) 说明处于运行状态 # service rabbitmq-server status 用service指令也可以查看,同systemctl指令
启用 web端可视化操作界面,我们还需要配置Management Plugin插件
rabbitmq-plugins enable rabbitmq_management # 启用插件 service rabbitmq-server restart # 重启
安装完成
使用以下链接进入插件提供的管理界面,用户名密码为上一步设置的用户名与密码(默认密码官网上找,我忘记了)
http://IP:15672
启动与停止:
启动:sudo rabbitmq-server start 关闭: sudo rabbitmq-server stop 重启: sudo rabbitmq-server restart
新建用户
sudo rabbitmqctl add_user 【用户名】 【密码】
赋予权限
sudo rabbitmqctl set_user_tags [用户名] administrator
赋予virtual host中所有资源的配置、写、读权限以便管理其中的资源,也是添加远程访问权限
sudo rabbitmqctl set_permissions -p / [用户名] '.*' '.*' '.*'
基本操作:
sudo rabbitmqctl # 查看所有命令和帮助文档
本地节点默认被命名为”rabbit”。可以通过这个命令前使 用”-n”标志明确的指定节点名称, 例如:
sudo rabbitmqctl -n rabbit@hostname **** 控制台命令
sudo rabbitmqctl stop # 停止服务
sudo rabbitmqctl status # 查看服务状态 显示RabbitMQ中间件各种信息
启动应用:sudo rabbitmqctl start_app
停止应用:sudo rabbitmqctl stop_app
sudo rabbitmqctl list_users # 查看当前所有用户
sudo rabbitmqctl list_user_permissions guest # 查看默认guest用户的权限
sudo rabbitmqctl delete_user guest # 删掉默认用户(由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 可以删掉默认用户)
sudo rabbitmqctl add_user username password # 添加新用户
sudo rabbitmqctl change_password username newpassword #修改密码
sudo rabbitmqctl delete_user username # 删除用户
sudo rabbitmqctl set_user_tags username administrator # 设置用户tag
sudo rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp
example:sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*" # 赋予用户默认vhost的全部操作权限
sudo rabbitmqctl list_user_permissions username # 查看用户的权限
删除虚拟主机 sudo rabbitmqctl delete_vhost vhostpath
列出全部队列,exchanger,binder
sudo rabbitmqctl list_queues [-p <vhostpath>] [<queueinfoitem> ...]
list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]
list_bindings [-p <vhostpath>] [<bindinginfoitem> ...]
list_connections [<connectioninfoitem> ...]
list_channels [<channelinfoitem> ...]
list_consumers [-p <vhostpath>]
rabbitmqctl set_user_tags User Tag
User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。
sudo rabbitmqctl force_reset
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
与administrator的对比,administrator能看到这些内容
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。