RabbitMQ安装和基本命令

144 阅读5分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情

一、RabbitMQ安装版本选择

RabbitMQ是一个更新相对频繁的消息中间件,所以当想安装自己感觉比较理想的版本时首先要学会对版本进行选择。

1. RabbitMQ版本选择

RabbitMQ官网地址www.rabbitmq.com/#features

RabbitMQ初步学习(二)--环境安装和基本命令01.png

从官网可以看到RabbitMQ在2020年更新了两个版本,小编不习惯上来就安装最新版,所以选择2020年更新的第一个版本:RabbitMQ 3.7.24

2. Erlang版本选择

RabbitMQ是基于Erlang语言开发的,所以在选择好RabbitMQ版本以后需要选择相对应支持的Erlang版本。

RabbitMQ初步学习(二)--环境安装和基本命令02.png

根据官网推荐RabbitMQ 3.7.24选择的Erlang版本是21.3

二、RabbitMQ安装

小编在这使用的是CentOS 7.X系统来安装RabbitMQ,如果有和小编安装版本不一致的情况下可以对命令做适当的调整或者百度对应的教程进行安装。

1. RabbitMQ安装包下载

RabbitMQ安装包下载有两种方式:

第一种:点击需要下载的版本

RabbitMQ初步学习(二)--环境安装和基本命令03.png

RabbitMQ初步学习(二)--环境安装和基本命令04.png

下载好后将安装包上传到对应的服务器上。

第二种:复制需要下载的安装包地址直接在相应的Linux服务器上使用wget命令进行下载

[root@localhost rabbitmq]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.24/rabbitmq-server-3.7.24-1.el6.noarch.rpm

下载前可以通过mkdir命令创建一个文件夹,将安装包下载到对应的文件夹下

[root@localhost ~]# mkdir rabbitmq

2. Erlang安装包下载

Erlang包下载地址:erlang.org/download/

找到对应需要下载的版本进行下载

RabbitMQ初步学习(二)--环境安装和基本命令05.png

点击下载,然后上传到对应的服务器上

或者直接在服务器上直接执行如下命令下载:

[root@localhost rabbitmq]# wget http://erlang.org/download/otp_src_21.3.tar.gz

3. 编译安装Erlang

编译安装Erlang对环境有要求,为防止在编译的时候提示某些软件包未安装之类的错误,所以我将Erlang需要的软件提前安装,直接使用yum进行安装即可

yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel kernel-devel

解压源文件

[root@localhost rabbitmq]# tar -zxvf  otp_src_21.3.tar.gz

使用cd命令进入Erlang解压目录:

RabbitMQ初步学习(二)--环境安装和基本命令06.png

执行如下命令:

./configure   --prefix=/usr/local/erlang --enable-smp-support --enable-threads  --enable-sctp  --enable-kernel-poll  --enable-hipe  --with-ssl

参数说明:

–prefix :指定安装目录

–enable-smp-support:启用对称多处理支持(Symmetric Multi-Processing对称多处理结构的简称)

–enable-threads:启用异步线程支持

–enable-sctp:启用流控制协议支持(Stream Control Transmission Protocol,流控制传输协议)

–enable-kernel-poll:启用Linux内核poll –enable-hipe启用高性能Erlang(High Performance Erlang)

–with-ssl:使用SSL包

如果在安装过程中报如下错误

RabbitMQ初步学习(二)--环境安装和基本命令07.png

执行如下命令:

[root@localhost otp_src_21.3]# yum install fop.noarch

这里根据报错详情信息执行相应命令,切勿入坑

在执行如下命令

[root@localhost otp_src_21.3]# make && make install

设置环境变量

[root@localhost otp_src_21.3]# vim /etc/profile

添加如下配置

# erlang
export ERL_HOME=/usr/local/erlang
export PATH=$PATH:$ERL_HOME/bin

重新加载

[root@localhost otp_src_21.3]# erl
Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]

Eshell V10.3  (abort with ^G)
1>   

erlang安装成功~

4. RabbitMQ安装

执行如下命令安装

[root@localhost rabbitmq]# rpm -i rabbitmq-server-3.7.24-1.el6.noarch.rpm

错误提示

RabbitMQ初步学习(二)--环境安装和基本命令08.png

上述错误信息显示安装失败,因为rabbigmq的依赖关系所导致,所以要忽略依赖,执行以下命令

[root@localhost rabbitmq]# rpm -i --nodeps rabbitmq-server-3.7.24-1.el6.noarch.rpm

5. 操作RabbitMQ

操作RabbitMQ服务的几个命令如下:

命令说明
service rabbitmq-server start启动服务
service rabbitmq-server etc查看哪些命令可以使用
service rabbitmq-server stop停止服务
service rabbitmq-server status查看服务状态

启动服务报错

RabbitMQ初步学习(二)--环境安装和基本命令09.png

是因为环境变量不同,导致无法找到相应命令,按照指引将erlang的erl软连接到/usr/bin目录下

执行如下命令

[root@localhost rabbitmq]# ln -s /usr/local/erlang/bin/erl /usr/bin/erl

再次启动执行成功!

RabbitMQ初步学习(二)--环境安装和基本命令10.png

添加RabbitMQ服务到系统启动中

[root@localhost rabbitmq]# chkconfig rabbitmq-server on

6. 配置账号

开启web插件

[root@localhost rabbitmq]# rabbitmq-plugins enable rabbitmq_management

重启服务:

[root@localhost rabbitmq]# service rabbitmq-server restart

创建账号:

[root@localhost rabbitmq]# rabbitmqctl add_user user root123

分配角色:

[root@localhost rabbitmq]# rabbitmqctl set_user_tags user administrator

设置远程连接权限

rabbitmqctl set_permissions -p "/" user ".*" ".*" ".*"

7.访问网页端RabbitMQ控制台

访问地址:http://192.168.104.146:15672/

三、Docker安装RabbitMQ

1、获取镜像

#指定版本,该版本包含了web控制页面
docker pull rabbitmq:management

2、运行镜像

#方式一:默认guest 用户,密码也是 guest
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management

#方式二:设置用户名和密码
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:management

3、访问ui页面

http://192.168.104.146:15672/