本文转载自微信公众号「Java极客技术」,作者鸭血粉丝 。转载本文请联系Java极客技术公众号。
前段时间的时候,阿粉给大家在一篇文章中讲了关于如何安装RabbitMQ,以及如何在Windows下安装RabbitMQ的文章,但是后台就有粉丝说,为啥不讲 RabbitMQ 在Linux下的安装呢,我在 Linux 下安装了好几次都失败了,然后我还不知道是什么问题。于是阿粉专门整了个小小的云服务器,就打算在自己的云服务器上装上 RabbitMQ 并且给大家详细说一下安装的命令。
RabbitMQ 安装前准备
如果有条件的同胞们,可以在阿里云和华为云上租个服务器,最低配置的也算是足够自己玩了,平常部署个小玩意什么的都比较方便,而且价格也是非常的便宜,一般在六七十块钱就能搞定一年的,就比如阿粉,为了体验他们有什么不同,花了100元大洋一边安排了一个小型的云服务器,一个是阿里云的,一个是华为云的,加起来花了100多一点点,给大家看下云服务器。
服务器的配置是最低的,就是一个自己测试用的入门级的,一定要赶着活动买哈,尤其是想自己用着玩的,可以关注一下活动,话不多说,我们来链接上我们的服务器搞一下。
远程连接自己的云服务器
阿粉使用的是 XShell 和 XFtp 这两个工具远程连接的自己的云服务器,连接完成之后就是下面这个样子。
话不多说,我们开始安装 RabbitMQ ,首先我们知道 RabbitMQ 是用 Erlang 语言开发,所以不管我们是在 Windows 下安装 RabbitMQ 还是在 Linux 下安装 RabbitMQ 的时候,都需要我们先去安装 Erlang 语言环境,也就是安装 Erlang 环境。
RabbitMQ的安装
1.升级所有包同时也升级软件和系统内核
- yum -y update
这个地方我们需要先升级一下所有的包和软件和系统内核,这时候也有人就会问,为什么有人的教学上说使用的是 yum -y upgrade ,阿粉在这里给大家说一下,这两个命令还是有区别的。
- yum -y update 升级所有包同时也升级软件和系统内核
- yum -y upgrade 只升级所有包,不升级软件和系统内核
如果你执行的 yum -y update 那么不出意外的情况下,一般更新的内容比较多,而第二个升级包不升级软件和内核的命令相对来说执行的就快一点,不过阿粉用的是自己的云服务器,那至少肯定网速比阿粉本地快吧,升级!
2.安装EPEL YUM源
- yum -y install epel-release
为什么要安装这个呢?因为当我们用yum安装软件时,发现我们的yum源里面没有该软件,然后需要自己去 wget,然后configure,make,make install
而在 CentOS 中有一个源 EPEL(Extra Packages for Enterprise) 在这个里面软件居多,能够满足我们大部分的需求,所以装一下吧。装完之后,我们在升级一下,
- yum -y update
就是下面的图。
然后我们就需要去妆一下 Erlang 环境了
- yum -y install erlang socat
当出现 Complete! 的时候就证明没啥问题了,既然没啥问题了,我们是不是得看看是不是安装成功了。
- erl -version
- Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
我们看到 Erlang 对应的是 OTP 22 我们这时候就需要去看看官网上 Erlang 对应版本的 RabbitMQ 需要我们下载什么版本。
这时候我们就得去下载对应的版本,我们的 Erlang 环境是22的,我们就得下载对应的版本,不然,你是装不上 RabbitMQ 的。
如下图:
也就是说,我们目前可选择的版本的话,只能是这么多了,3.7.27 / 3.7.26/ 3.7.25/ 3.7.24/ 3.7.23/ 3.7.22/ 3.7.21/ 3.7.20/ 3.7.19/ 3.7.18/ 3.7.17/ 3.7.16/ 3.7.15
这时候我们就给他安排一波,找个 3.7.26 安装包来一波吧。
下载之前,我们得先看看我们要下载哪个版本的,因为针对不同的 CentOS ,你最好也要下载对应的版本。
- cat /etc/centos-release
CentOS Linux release 8.4.2105
也就是说我们需要下载的就是el8类型的,阿粉下载的就是这个,rabbitmq-server-3.7.26-1.el8.noarch.rpm ,
我们通过 XFtp 上传到我们的云服务器上。
然后去安装一下:
- rpm -Uvh rabbitmq-server-3.7.26-1.el8.noarch.rpm
这是不是意味着我们就安装完成了?
我们启动一下然后看看状态试试
- systemctl start rabbitmq-server
竟然没问题,那我们再来看看状态
- systemctl status rabbitmq-server
看来我们已经启动起来了,那我们看看能不能访问,IP:15672
发现竟然不能访问,我们下来试试把防火墙关掉,
关闭防火墙:
- systemctl stop firewalld.service
禁止firewall开机启动
- systemctl disable firewalld.service
查看默认防火墙状态
- firewall-cmd --state
显示notrunning 我们确认关闭了,关掉防火墙之后,阿粉想了一下,我是不是没打开 RabbitMQ 的Web 后台,那我怎么能访问到呢,
- rabbitmq-plugins enable rabbitmq_management
这时候,再访问试试。结果还是不行,这时候阿粉想了一下,云服务器是不是安全组给我拦截了,我防火墙什么的全都关闭了,为啥还是不不让我访问后台呢?于是接下来我们要在安全组把端口给他放开。
终于终于终于看到了我们心心念念的画面了,到这里你以为就结束了吗?不,肯定不是,我们需要来安排一下账号和密码不是么,不然进不去看不到后台有什么用。
- rabbitmqctl list_users
- Listing users ...
- user tags
- guest [administrator]
有一个管理员账号,但是我们需要建立一个自己的账号,然后给他授予上角色。
- rabbitmqctl add_user xiaoyi xiaoyi
- rabbitmqctl set_user_tags xiaoyi administrator
这样我们再去登录就没什么问题了。
这时候我们可算是把 RabbitMQ 给安装完成了,你学会了么?