1.RabbitMQ是啥?
Rabbit翻译过来就是兔子,这个RabbitMQ发起人可能是比较喜欢兔子。
MQ是两个英文缩写,全称为Message Queue, 消息队列, 队列我们可以理解为管道。 以管道的方式做消息传递。
RabbitMQ与Kafka一样的都是消息队列机制,用于前端快速响应、后台业务解耦、数据跨平台传递、任务调度。
RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种, RabbitMQ服务器端用Erlang语言编写。
2.安装部署
因为RabbitMQ是基于Erlang开发的应用,所以先要安装部署Erlang环境,再安装RabbitMQ应用。
2.1. Erlang环境部署
不同系统平台安装介绍: https://www.erlang-solutions.com/resources/download.html
1 2 3 4 5 6 7 8 9 | #yum包仓库 wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
#RPM包签名 rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
#yum安装 yum install erlang |
2.2.RabbitMQ部署
RPM包安装下载: http://www.rabbitmq.com/install-rpm.html
根据当前服务器来选择,我当前使用是Centos6.X
1 2 | wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.4/rabbitmq-server-3.7.4-1.el6.noarch.rpm rpm -ivh rabbitmq-server-3.7.4-1.el6.noarch.rpm |
服务管理
1 2 3 | chkconfig rabbitmq-server on /etc/init.d/rabbitmq-server start /etc/init.d/rabbitmq-server status |
查看服务
1 2 3 | [root@zeping pytho]# netstat -nlp | grep beam.smp tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 10106/beam.smp tcp 0 0 :::5672 :::* LISTEN 10106/beam.smp |
3.创建用户授权(使用rabbitmqctl命令行管理工具)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # 3.1.创建用户zeze,密码123456 [root@zeping ~]# rabbitmqctl add_user zeze 123456 Adding user "zeze" ...
# 3.2.查看用户列表 [root@zeping ~]# rabbitmqctl list_users Listing users ... zeze [] guest [administrator]
# 3.3.设置zeze用户为administrator角色 [root@zeping ~]# rabbitmqctl set_user_tags zeze administrator Setting tags for user "zeze" to [administrator] ...
#3.4.设置zeze用户权限 [root@zeping ~]# rabbitmqctl set_permissions -p / zeze ".*" ".*" ".*" Setting permissions for user "zeze" in vhost "/" ...
#3.5.查看zeze用户权限 [root@zeping ~]# rabbitmqctl list_user_permissions zeze Listing permissions for user "zeze" ... / .* .* .* |
3.6.用户角色介绍
用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
与administrator的对比,administrator能看到这些内容
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。
4.启用RabbitMQ管理插件
1 2 3 4 5 6 7 8 9 10 11 12 | [root@zeping ~]# rabbitmq-plugins enable rabbitmq_management The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin configuration to rabbit@zeping... The following plugins have been enabled: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch
started 3 plugins. |
1 2 | [root@zeping python]# netstat -nlp |grep 15672 tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 10106/beam.smp |
浏览器访问: http://192.168.100.208:15672
帐号密码刚刚创建的, 帐号 zeze, 密码123456
文章来自LinuxHub原创,如需技术支援,右侧扫码备注。