经理:运维大大,开发需要rabbitmq消息队列了,上一套环境吧;
运维:ok;
官方教程:https://www.rabbitmq.com/getstarted.html
一、准备安装包
RabbitMQ和Erlang/OTP版本兼容性:https://www.rabbitmq.com/which-erlang.html
下载:(也可以去github去下载)
erlang下载:https://packagecloud.io/rabbitmq/erlang
rabbitmq下载:https://packagecloud.io/rabbitmq/rabbitmq-server
这里注意要下载的版本,本文章搭建时使用的是centos7.8,内核默认3.10;
下载对应的el版本和对应的rabbitmq即可;
二、部署
1、安装el语言
yum install erlang-23.2.7-2.el7.x86_64.rpm
2、安装rabbitmq
yum install rabbitmq-server-3.10.0-1.el7.noarch.rpm
3、启动并设置开机自启
systemctl start rabbitmq-server
和
systemctl enable rabbitmq-server
4、查看服务端口
netstat -tunlp | grep -E "beam|epmd"
示例:
[root@node1 src]# netstat -tunlp | grep -E "beam|epmd"
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 7350/beam.smp
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 7401/epmd
tcp6 0 0 :::5672 :::* LISTEN 7350/beam.smp
tcp6 0 0 :::4369 :::* LISTEN 7401/epmd
默认情况下,是没有安装web端的客户端插件,需要安装才可以生效
5、安装web端管理界面
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server
安装、重启后可以访问 ip:15672
默认管理员账号和密码都是 guest
默认情况只能在 localhost本机下访问,所以需要新增一个远程登录的用户
6、创建远程用户并赋予管理员权限
# 创建一个admin账户,密码为123456
rabbitmqctl add_user admin 12345
# 赋予admin这个账户管理员权限(administrator)
rabbitmqctl set_user_tags admin administrator
# 给admin账户添加虚拟目录权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
三、常用命令
——查看当前所有用户
rabbitmqctl list_users
——添加帐号:admin 密码:123456
rabbitmqctl add_user admin 123456
——赋予其administrator角色
rabbitmqctl set_user_tags admin administrator
——删除角色
rabbitmqctl delete_user Username
——设置权限
rabbitmqctl set_permissions -p / name ".*" ".*" ".*"
——查看用户的权限
rabbitmqctl list_user_permissions username
1、web管理端和队列
启动监控管理器:rabbitmq-plugins enable rabbitmq_management
关闭监控管理器:rabbitmq-plugins disable rabbitmq_management
查看所有的队列:rabbitmqctl list_queues
清除所有的队列:rabbitmqctl reset
2、用户和权限设置
添加用户:rabbitmqctl add_user username password
分配角色:rabbitmqctl set_user_tags username administrator
新增虚拟主机:rabbitmqctl add_vhost vhost_name
将新虚拟主机授权给新用户:rabbitmqctl set_permissions -p vhost_name username “.*” “.*” “.*”(后面三个”*”代表用户拥有配置、写、读全部权限)
3、角色说明
超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
其他
无法登陆管理控制台,通常就是普通的生产者和消费者。