title: Ubuntu安装RabbitMQ
date: 2019-04-21 22:29:44
tags:
- 乐优商城
- java
- RabbitMQ
categories:
- 乐优商城
0.安装文件准备
有一些应用程序和系统,其中Erlang具有重要作用:RabbitMQ,面向消息的中间件是用Erlang编程语言编写的。WhatsApp使用Erlang来运行消息服务器。亚马逊,雅虎,Facebook,摩托罗拉和Github等许多大公司正在使用Erlang。
现在的博客都太不靠谱了,都没有验证测试,就写出来。误导大家,浪费大家的时间和精力。
1.安装Erlang
首先查看查看ubuntu 内核版本
sudo lsb_release -a
结果如下
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
hadoop@Slave11:~/mq$ rz
然后在官网选择对应的版本下载
如果之前有Erlang 请先卸载,用以下命令全局卸载,否则各种坑,笔者已经被折磨一下午了,卸载 Erlang。
sudo apt-get purge erlang*
rm -rf /usr/local/erlang/
笔者使用的 xshell 在Ubuntu16.0.3上搭建。
mdkir mq
cd mq
//上传
rz
执行一下命令
dpkg -i esl-erlang_21.3.6-1_ubuntu_xenial_amd64.deb
如果没报错证明已安装成功,如果尤其错误自行谷歌吧,笔者的错误太多,无法整理。
查看版本 输入 erl
Erlang/OTP 21 [erts-10.3.4] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
Eshell V10.3.4 (abort with ^G)
1>
2.安装RabbitMQ
RabbtiMQ对erlang版本要求不同,建议都下载最新版的,不建议用快捷命令下载,如果出现错误建议卸载erlang版本重新安装,参考上文。
2.1.安装
进入文件所在目录:
cd /home/ubuntu/leyou/mq
官网建议手动安装
以下命令安装,参考以下截图
然后输入命令:
# sync package metadata
sudo apt-get update
# install dependencies manually
sudo apt-get -y install socat logrotate init-system-helpers adduser
# download the package
sudo apt-get -y install wget// 如果没有下载,有的话跳过
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.14/rabbitmq-server_3.7.14-1_all.deb
# install the package with dpkg
sudo dpkg -i rabbitmq-server_3.7.14-1_all.deb
rm rabbitmq-server_3.7.14-1_all.deb
2.4.启动命令
通过下面命令来控制RabbitMQ:
sudo service rabbitmq-server start
sudo service rabbitmq-server stop
sudo service rabbitmq-server restart
2.5.开启web管理界面
RabbitMQ提供了用来管理的控制界面,十分方便,不过默认是关闭的。
我们通过命令开启web管理插件:
$ sudo rabbitmq-plugins enable rabbitmq_management
然后重启RabbitMQ:
sudo service rabbitmq-server restart
然后在主机中通过地址:http://192.168.56.101:15672即可访问到管理界面
3.管理界面介绍
第一次访问需要登录,默认的账号密码为:guest/guest
默认 guest 用户只能在 localhost 登录。所以会报错
解决方案
cd /usr/lib/rabbitmq/lib
cd rabbitmq_server-3.7.14/ebin
cd rabbitmq_server-3.7.14
删除 < gues t>
3.1.主页
- connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况
- channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道。
- Exchanges:交换机,用来实现消息的路由
- Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列。
端口:
3.2.添加用户
上面的Tags选项,其实是指定用户的角色,可选的有以下几个:
-
超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
-
监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
-
策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
-
普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
-
其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
3.3.创建虚拟主机(Virtual Hosts)
为了让各个用户可以互不干扰的工作,RabbitMQ添加了虚拟主机(Virtual Hosts)的概念。其实就是一个独立的访问路径,不同用户使用不同路径,各自有自己的队列、交换机,互相不会影响。
创建好虚拟主机,我们还要给用户添加访问权限:
点击添加好的虚拟主机:
进入虚拟主机设置界面: