- Linux版本:CentOS7.7
- RabbitMQ版本:3.7.14
- Erlang版本:20.3.4
- socat版本:1.7.3.2
说明:
- 由于
RabbitMQ
是基于Erlang
语言开发,所以在安装RabbitMQ
之前, 需要先安装Erlang
;RabbitMQ
和Erlang
版本需要对应,可以参考官网给出的列表:https://www.rabbitmq.com/which-erlang.html -
RabbitMQ
需要socat
依赖,所以需要安装socat
。
1、安装包下载安装
1.1、下载安装socat
# 下载
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
# 安装
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
1.2、下载安装Erlang
github下载地址:https://github.com/rabbitmq/erlang-rpm/tags
选择版本20.3.4
下载rpm
安装包。
# 安装
rpm -ivh erlang-20.3.4-1.el7.centos.x86_64.rpm
1.3、下载安装RabbitMQ
github下载地址:https://github.com/rabbitmq/rabbitmq-server/tags
官方下载地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/
选择版本3.7.14
下载rpm
安装包。
# 安装
rpm -ivh rabbitmq-server-3.7.14-1.el7.noarch.rpm
1.4、启停RabbitMQ
service rabbitmq-server start|stop
2、RabbitMQ后台管理
2.1、安装后台管理插件
rabbitmq-plugins enable rabbitmq_management
2.2、放开访问端口
# RabbitMQ通讯端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
# RabbitMQ后台管理页面端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
# 重启防火墙
firewall-cmd --reload
2.3、登录后台管理
浏览器访问页面http://ip:port/15672
可以打开后台管理页面。
默认自带的guest
用户只允许本地机器访问登录(提示User can only log in via localhost
),可以通过以下步骤解决:
cd /etc/rabbitmq
vi rabbitmq.config
- 写入
[{rabbit, [{loopback_users, []}]}].
,保存退出。 - 重启RabbitMQ,
service rabbitmq-server restart
- 用账号
guest
、密码guest
登录。
或者创建新的管理员用户登录
- 创建用户:
rabbitmqctl add_user 用户名 密码
- 赋予角色:
rabbitmqctl set_user_tags 用户名 administrator
- 用新创建的账号密码登录。
登录后页面会显示版本信息,我们可以查看消息队列的状态,也可以管理交换机、队列、用户等数据。
后台管理
2.4、解决后台管理页面打开特别慢
本人在刚好安装好以后,发现打开和登录管理页面特别慢,连接RabbitMQ
有时候也会超时,后经排查发现是解析主机名的问题,在hosts
文件中配上当前主机名即可解决。
vi /etc/hosts
- 在
127.0.0.1
后追加当前主机名称。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 libai
3、RabbitMQ命令总结
3.1、启停RabbitMQ
# 开启
service rabbitmq-server start
# 关闭
service rabbitmq-server stop
# 查看状态
service rabbitmq-server status
3.2、安装卸载后台管理插件
# 安装
rabbitmq-plugins enable rabbitmq_management
# 卸载
rabbitmq-plugins disable rabbitmq_management
3.3、RabbitMQ设置开机启动
# 开机启动
systemctl enable rabbitmq-server
# 关闭开机启动
systemctl disable rabbitmq-server
3.4、用户管理
# 创建用户
rabbitmqctl add_user 用户名 密码
# 删除用户
rabbitmqctl delete_user 用户名
# 修改密码
rabbitmqctl change_password 用户名 密码
# 查看当前用户列表
rabbitmqctl list_users
3.5、角色管理
# 角色名 administrator|monitoring|policymaker|management
rabbitmqctl set_user_tags 用户名 角色名
按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
-
超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。 -
监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等) -
策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
与administrator的对比,administrator能看到这些内容 -
普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。 -
其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
网友评论