一.安装RabbitMQ
我们可以参考官网的安装向导
首先在rabbitmq的官网下载对应系统的rpm包,我这里使用的是centos7所以下载了最新版本的
rabbitmq-server-3.6.10-1.el7.noarch.rpm
然后运行
yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm
结果提示需要安装ErLang
1.1安装ErLang,因为RabbitMQ是基于ErLang编写的所以要先安装erlang
首先我们去到github提供的erlang页面查看对应版本erlang的yum源
我这里选择的是ErLang19.x
To use Erlang 19.x on CentOS 7:
在 /etc/yum.repos.d/下添加/rabbitmq-erlang.repo
# In /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/7 gpgcheck=1 gpgkey=https://www.rabbitmq.com/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=1
然后安装ErLang
yum install erlang
二.安装RabbitMQ Server
安装完erlang之后再安装tabbitmq
yum inatall rabbitmq-server-3.6.10-1.el7.noarch.rpm
三.启动RabbitMQ
配置为守护进程随系统自动启动,root权限下执行:
chkconfig rabbitmq-server on
启动rabbitMQ服务
rabbitmq-server start
四.安装web管理界面插件
rabbitmq-plugins enable rabbitmq_management
五.登录web管理界面

rabbitmq安装后有个默认的管理员账户guest,但是为了安全考虑只能通过localhost:15672访问web管理界面时才能登录
1.用户管理命令: 我们可以新建一个用户: rabbitmqctl add_user Username Password 设置为管理员角色: rabbitmqctl set_user_tags administrator 删除一个用户: rabbitmqctl delete_user Username 修改用户的密码: rabbitmqctl change_password Username Newpassword 查看当前用户列表: rabbitmqctl list_users 2.用户角色 按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。 (1) 超级管理员(administrator) 可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。 (2) 监控者(monitoring) 可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等) (3) 策略制定者(policymaker) 可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息。 与administrator的对比,administrator能看到这些内容 (4) 普通管理者(management) 仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。 (5) 其他 无法登陆管理控制台,通常就是普通的生产者和消费者。 了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。
六.web管理界面介绍

新建用户admin后发现和guest用户有点差异,can access virtual hosts下没有值,
这里的vhost可以理解为mysql中的一个数据库名称,新建一个vhost关联到admin用户下
七.介绍RabbitMQ的五种队列

7.1简单队列
P:消息的生产者
C:消息的消费者
红色:队列
生产者将消息发送到队列,消费者从队列中获取消息。
7.2work模式
一个生产者、2个消费者。
一个消息只能被一个消费者获取。
7.3订阅模式
1个生产者,多个消费者
每一个消费者都有自己的一个队列
生产者没有将消息直接发送到队列,而是发送到了交换机
每个队列都要绑定到交换机
生产者发送的消息,经过交换机,到达队列,实现,一个消息被多个消费者获取的目的
7.4路由模式
7.4通配符模式
此模式中#匹配一个或多个单词,*匹配一个单词
