RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用,具体特性还在验证中,待检验。由于项目需要,安装并配置了RabbitMQ,服务器操作系统是CentOS7。
v安装依赖项
RabbitMQ使用erlang语言开发,所以我们首先安装erlang.
rpm -Uvh http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el7.centos.x86_64.rpm
RabbitMQ是基于erlang的,所以RabbitMQ和erlang版本要对应,要不然有可能安装失败。 RabbitMQ Erlang Version Requirements — RabbitMQ
vInstall RabbitMQ-Server
rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6-1.noarch.rpm
安装好了之后,验证是否安装成功。rpm -qa|grep rabbitmq
启动MQ:service rabbitmq-server start
重启MQ:service rabbitmq-server restart
关闭MQ:service rabbitmq-server stop
查看状态:rabbitmqctl status
v维护插件
先启动MQ,然后安装维护插件。rabbitmq-plugins enable rabbitmq_management
这个命令的作用是安装RabbitMq的一个管理插件
查看安装的插件rabbitmq-plugins list
安装好了以后就可以通过在浏览器访问 http://ip:15672进入一个管理界面。
v远程访问
这时候登录会提示login failed
需要开启远程访问授权。
cd /etc/rabbitmq
cp /usr/share/doc/rabbitmq-server-3.5.6/rabbitmq.config.example /etc/rabbitmq/
mv rabbitmq.config.example rabbitmq.config
vim /etc/rabbitmq/rabbitmq.config
在rabbitmq.config中添加 {loopback_users, []}
用户名和密码默认都是guest
,登录后显示如下:
关于RabbitMQ Management更多介绍,可以看看这里。 SpringBoot(二十三)集成RabbitMQ---浅谈RabbitMQ Management
v用户管理
新增一个用户 rabbitmqctl add_user Username Password
设置admin rabbitmqctl set_user_tags Username administrator
用户角色大致可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
超级管理员(administrator):
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。与administrator的对比,administrator能看到这些内容
普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
删除一个用户 rabbitmqctl delete_user Username
修改用户的密码 rabbitmqctl change_password Username Newpassword
查看当前用户列表 rabbitmqctl list_users
其他参考资料:
- Installing on RPM-based Linux (RHEL, CentOS, Fedora, openSUSE) — RabbitMQ http://www.rabbitmq.com/install-rpm.html
- EPEL/FAQ - Fedora Project Wiki https://fedoraproject.org/wiki/EPEL/FAQ#howtouse
- News — RabbitMQ http://www.rabbitmq.com/news.html
作 者:请叫我头头哥
出 处:http://www.cnblogs.com/toutou/
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!