1.安装erlang
apt-get install erlang-nox
![](https://i-blog.csdnimg.cn/blog_migrate/36e57b5ff87e7321bfba8fe8f44174c8.png)
2.假如出现没权限情况
sudo apt-getinstall erlang-nox
更新下载源:sudo apt-get -y update
![](https://i-blog.csdnimg.cn/blog_migrate/177ecd84778544fb1fe056254f3ff85d.png)
3.注意检查RabbitMQ 与erlang 的版本对应:
erl 命令
可以查看对应erlang版本
![](https://i-blog.csdnimg.cn/blog_migrate/ec0eb824c6bce8b449334fb37f41d6ad.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://i-blog.csdnimg.cn/blog_migrate/3ff908fa2338cf69af98adffe6b8ac5a.png)
指定下载版本:sudo apt-get install rabbitmq-server=3.8.2-0ubuntu1
查看MQ开启状态:sudo service rabbitmq-server status
![](https://i-blog.csdnimg.cn/blog_migrate/10816c5e0274dd71aac49e2b4eb04337.png)
开启MQ:sudo service rabbitmq-server start
![](https://i-blog.csdnimg.cn/blog_migrate/d84a1193dd4f463f635255dacf849bf0.png)
5.启动插件,允许web访问
rabbitmq-plugins enable rabbitmq_management
![](https://i-blog.csdnimg.cn/blog_migrate/7fea1f0567477b55e2e31b4541862ced.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://i-blog.csdnimg.cn/blog_migrate/e527c1a01a370fba9b457d5fc6074b7e.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://i-blog.csdnimg.cn/blog_migrate/6c2bdb45deacc7902dbec9618c7a721a.png)
7.查询服务器端口,在浏览器打开网页
ifconfig
如果没有显示,则需要下载网络插件:sudo apt install net-tools
![](https://i-blog.csdnimg.cn/blog_migrate/d22f233ce516bde1462641bb39f287e4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a43824f4b19508a8ab019ee56d2ae11b.png)
rabbitMQ默认端口是15672,则在本地拼接上ip即可访问页面
![](https://i-blog.csdnimg.cn/blog_migrate/c257873df8ea423ea44921d6bbe34899.png)
![](https://i-blog.csdnimg.cn/blog_migrate/827009ef659bbe6f2c02373868dac8c5.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://i-blog.csdnimg.cn/blog_migrate/16d07e11f7e3e9a0b0aaea2bc1472b1e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bbb1b7ebd019a2d13e160193eeb4afd9.png)