1.安装erlang
apt-get install erlang-nox
![](https://img-blog.csdnimg.cn/img_convert/4426a145285e5df69c6f932ff1ff03e8.png)
2.假如出现没权限情况
sudo apt-getinstall erlang-nox
更新下载源:sudo apt-get -y update
![](https://img-blog.csdnimg.cn/img_convert/1d33da3c486eabbd7623e2dc22357bf0.png)
3.注意检查RabbitMQ 与erlang 的版本对应:
erl 命令
可以查看对应erlang版本
![](https://img-blog.csdnimg.cn/img_convert/d0fc6752c5c457992fb227468ff5d74b.png)
4.安装RabbitMQ
如果安装最新版本的RabbitMQ 执行:sudo apt-get install rabbitmq-server
我是要安装指定版本的RabbitMQ 执行两句:
准备环境:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash
查询目前可以安装的版本:apt-cache madison rabbitmq-server
![](https://img-blog.csdnimg.cn/img_convert/8e53d6994303472e826cc65482faadad.png)
指定下载版本:sudo apt-get install rabbitmq-server=3.8.2-0ubuntu1
查看MQ开启状态:sudo service rabbitmq-server status
![](https://img-blog.csdnimg.cn/img_convert/ac92c3bb3a90f6ed87841da84e594bb6.png)
开启MQ:sudo service rabbitmq-server start
![](https://img-blog.csdnimg.cn/img_convert/1edbc154710ed35e09ffb050cd84e115.png)
5.启动插件,允许web访问
rabbitmq-plugins enable rabbitmq_management
![](https://img-blog.csdnimg.cn/img_convert/7cce6032ab1961b9fe6793c98b042856.png)
如果报错:
sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
sudo chmod 600 /var/lib/rabbitmq/.erlang.cookie
引起缘由:
cookie的权限问题,也就是它的属组白话说就是不认这个cookie
加上sudo sudo rabbitmq-plugins enable rabbitmq_management
6.添加用户方便访问并配置
增加普通用户: sudo rabbitmqctl add_user admin admin
给普通用户添加管理员权限:sudo rabbitmqctl set_user_tags admin administrator
![](https://img-blog.csdnimg.cn/img_convert/d4c2824c8bbdc2cfb585dcad464a6f8c.png)
修改默认配置信息: sudo vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
比如修改密码、配置等等,例如:loopback_users 中的 <<"guest">>,只保留guest
重启服务: sudo service rabbitmq-server restart
![](https://img-blog.csdnimg.cn/img_convert/e352fad26958282bdd97bc60d567305d.png)
7.查询服务器端口,在浏览器打开网页
ifconfig
如果没有显示,则需要下载网络插件:sudo apt install net-tools
![](https://img-blog.csdnimg.cn/img_convert/b314ab63c5b7cce87e815239fc825636.png)
![](https://img-blog.csdnimg.cn/img_convert/eaf102fcb146a6717083a3decbf8d586.png)
rabbitMQ默认端口是15672,则在本地拼接上ip即可访问页面
![](https://img-blog.csdnimg.cn/img_convert/bc8ddd7b776c4211a5b0ceda57edea5d.png)
![](https://img-blog.csdnimg.cn/img_convert/bac1da15b056d2f2edc38b5acd2885f5.png)
8.配置虚拟主机及用户
RabbitMQ在安装好后,可以访问http://ip地址:15672 ;其自带了guest/guest的用户名和密码;如果需要创建自定义用户;那么也可以登录管理界面后,操作。
角色说明:
1、 超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
2、 监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
3、 策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
4、 普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
5、 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
Virtual Hosts配置
像mysql拥有数据库的概念并且可以指定用户对库和表等操作的权限。RabbitMQ也有类似的权限管理;在RabbitMQ中可以虚拟消息服务器Virtual Host,每个Virtual Hosts相当于一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。 相当于mysql的db。Virtual Name一般以/开头。
![](https://img-blog.csdnimg.cn/img_convert/b72b84ce305c66a393ea361ebff7db9d.png)
![](https://img-blog.csdnimg.cn/img_convert/91ffcd7762da9cda0797fd0582fc2fa5.png)