持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情
一、RabbitMQ安装版本选择
RabbitMQ是一个更新相对频繁的消息中间件,所以当想安装自己感觉比较理想的版本时首先要学会对版本进行选择。
1. RabbitMQ版本选择
RabbitMQ官网地址:www.rabbitmq.com/#features
从官网可以看到RabbitMQ在2020年更新了两个版本,小编不习惯上来就安装最新版,所以选择2020年更新的第一个版本:RabbitMQ 3.7.24
2. Erlang版本选择
RabbitMQ是基于Erlang语言开发的,所以在选择好RabbitMQ版本以后需要选择相对应支持的Erlang版本。
根据官网推荐RabbitMQ 3.7.24选择的Erlang版本是21.3
二、RabbitMQ安装
小编在这使用的是CentOS 7.X系统来安装RabbitMQ,如果有和小编安装版本不一致的情况下可以对命令做适当的调整或者百度对应的教程进行安装。
1. RabbitMQ安装包下载
RabbitMQ安装包下载有两种方式:
第一种:点击需要下载的版本
下载好后将安装包上传到对应的服务器上。
第二种:复制需要下载的安装包地址直接在相应的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/
找到对应需要下载的版本进行下载
点击下载,然后上传到对应的服务器上
或者直接在服务器上直接执行如下命令下载:
[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解压目录:
执行如下命令:
./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包
如果在安装过程中报如下错误
执行如下命令:
[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
错误提示
上述错误信息显示安装失败,因为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 | 查看服务状态 |
启动服务报错
是因为环境变量不同,导致无法找到相应命令,按照指引将erlang的erl软连接到/usr/bin目录下
执行如下命令
[root@localhost rabbitmq]# ln -s /usr/local/erlang/bin/erl /usr/bin/erl
再次启动执行成功!
添加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/