前言
前面介绍了erlang环境的安装和rabbitmq环境安装,接下来介绍rabbitmq的web管理和用户设置。
启用后台管理插件
通过后台管理插件我们可以动态监控mq的流量,创建用户,队列等。
- 创建目录
mkdir /etc/rabbitmq
- 启用插件
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management # 其会在/etc/rabbitmq目录下创建一个enabled_plugins文件,这是后台管理的配置文件。
rabbitmq的网页管理的端口是15672,如果你是远程操作服务器,输入http://ip:15672,发现连接不上,因为服务器防火墙不允许这个端口远程访问;
# 将mq的tcp监听端口和网页管理端口都设置成允许远程访问 firewall-cmd --permanent --add-port=15672/tcp firewall-cmd --permanent --add-port=5672/tcp systemctl restart firewalld.service
- 管理界面介绍
# 输入用户名密码登录后进入主界面 Overview:用来显示流量,端口,节点等信息,以及修改配置文件; Connections:显示所有的TCP连接; channels:显示所有的信道连接; exchanges:显示所有的交换机以及创建删除等; queues:显示所有的队列以及创建删除等; admins:显示所有的用户以及用户管理;
用户设置
- rabbitmq有一个默认的用户名和密码,guest和guest,但为了安全考虑,该用户名和密码只允许本地访问,如果是远程操作的话,需要创建新的用户名和密码;
# root权限 rabbitmqctl add_user username passwd //添加用户,后面两个参数分别是用户名和密码 rabbitmqctl set_permissions -p / username ".*" ".*" ".*" //添加权限 rabbitmqctl set_user_tags username administrator //修改用户角色,将用户设为管理员
注意:创建的新用户默认角色为空。
用户的角色说明
management:用户可以访问管理插件 policymaker:用户可以访问管理插件,并管理他们有权访问的vhost的策略和参数。 monitoring:用户可以访问管理插件,查看所有连接和通道以及与节点相关的信息。 administrator:用户可以做任何监视可以做的事情,管理用户,vhost和权限,关闭其他用户的连接,并管理所有vhost的政策和参数。
使用添加的账户远程访问后台管理站点,将原来的账号guest删除;
用户管理命令汇总
新建用户:rabbitmqctl add_user username passwd
删除用户:rabbitmqctl delete_user username
改密码: rabbimqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}
rabbitmqctl set_permissions -p / username ".*" ".*" ".*" //添加权限
权限说明:
rabbitmqctl set_permissions [-pvhostpath] {user} {conf} {write} {read} Vhostpath:虚拟主机,表示该用户可以访问那台虚拟主机; user:用户名。 Conf:一个正则表达式match哪些配置资源能够被该用户访问。 Write:一个正则表达式match哪些配置资源能够被该用户设置。 Read:一个正则表达式match哪些配置资源能够被该用户访问。
- 虚拟主机
默认的用户和队列都是在/虚拟机下。
# 创建一个虚拟主机 rabbitmqctl add_vhost vhost_name # 删除一个虚拟主机 rabbitmqctl delete_vhost vhost_name
常用文件路径
-
/usr/local/rabbitmq_server/var/log/rabbitmq/rabbit@tms.log:记录rabbitmq运行日常的日志
-
/usr/local/rabbitmq_server/var/log/rabbitmq/rabbit@tms-sasl.log:rabbitmq的崩溃报告
-
/usr/local/rabbitmq_server/etc/rabbitmq/rabbitmq.config:rabbitmq的配置文件
-
/usr/local/rabbitmq_server/var/lib/rabbitmq/mnesia/rabbit@tms:rabbit消息持久化文件
-