环境:
Java1.8
Centos7
** 下载
链接:https://pan.baidu.com/s/1JLBLEivNqXxEyvd3vozdJQ
提取码:1a9y
上传软件
将下面rpm文件上传到服务器
erlang-18.3-1.el7.centos.x86_64.rpm
socat-1.7.3.2-5.el7.lux.x86_64.rpm
rabbitmq-server-3.6.5-1.noarch.rpm
安装Erlang
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
安装
# 安装
rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm
# 安装
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
开启管理界面配置
#可以先查看自己的erlang是安装在哪
whereis erlang
#修改配置(vim /etc/profile),末尾添加
export ER_HOME=/usr/lib64/erlang
export PATH = $PATH:$ER_HOME/bin
# 刷新配置
source /etc/profile
# 开启管理模块
rabbitmqctl start_app
rabbitmq-plugins enable rabbitmq_management
启动
service rabbitmq-server start # 启动服务
service rabbitmq-server stop # 停止服务
service rabbitmq-server restart # 重启服务
如果web控制台无法正常访问考虑安装是否成功以及是防火墙的原因
# 关闭防火墙
systemctl stop firewalld
使用腾讯云 阿里云记得开放 15672端口
验证是否安装成功
abbitMQ在安装好后,可以访问http://ip地址:15672 ;其自带了guest/guest的
发现启动RabbitMQ后,登入失败
原因:这是因为账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq。
解决办法如下:
解决办法一:
# 修改默认配置信息
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
# 比如修改密码、配置等等,例如:loopback_users 中的 <<"guest">>,只保 留guest
找到上图中的{loopback_users, [<<"guest">>]}
,将<<"guest">>
改为guest.
修改完后重启
# 重启
service rabbitmq-server restart
解决办法二:
# 添加用户名为admin 密码为admin的用户
rabbitmqctl add_user(用户名) admin admin(密码)
# 赋予admin用户权限
rabbitmqctl set_user_tags admin administrator
# 重启
service rabbitmq-server restart
使用admin账户登入,成功
配置虚拟机主机以及用户
用户角色
角色说明:
1、 超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
2、 监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
3、 策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
4、 普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
5、 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
VirtualHosts配置
像mysql拥有数据库的概念并且可以指定用户对库和表等操作的权限。
RabbitMQ也有类似的权限管理;在RabbitMQ中可以虚拟消息服务器Virtual Host,每个Virtual Hosts相当于一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。 相当于mysql的db。Virtual Name一般以/开头。
有类似的权限管理;在RabbitMQ中可以虚拟消息服务器Virtual Host,每个Virtual Hosts相当于一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。 相当于mysql的db。Virtual Name一般以/开头。