史上最全,centos7安装rabbitmq3.7x(传统方式+Docker)

3 篇文章 0 订阅
2 篇文章 0 订阅

史上最全,centos7安装rabbitmq3.7x(传统方式+Docker)

每天多学一点点~
写博客的目的不仅在于分享,也是为了方便日后复习巩固
话不多说,这就开始吧…

1.序

国网服务器原本已经装好了rabbitmq,无奈版本太低,要装到制定版本。遂自己重新装一下。本次选用原始的方式安装,后面有空学习一下用docker部署。好吧,我承认我也是标题党~~~
erlang与rabbitmq对应版本
在这里插入图片描述

系统环境
操作系统:centos7 内核 3.10.0-862.el7.x86_64
erlang :otp_src_20.3.tar.gz
rabbitmq:rabbitmq-server-3.7.14-1.el6.noarch.rpm

2.安装erlang

RabbitMQ是由erlang语言开发的高性能的消息队列中间件,所以在安装RabbitMQ时需要安装erlang。

  1. 安装预环境
 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

在这里插入图片描述

  1. 下载erlang
    erlang服务器在国外,不推荐直接用wget命令下载,太卡,直接去官网下载
    elang官网

在这里插入图片描述

  1. 解压并安装
    在这里插入图片描述
tar -xvf otp_src_20.3.tar.gz      #解压

进入解压好的otp_src_20.3目下

./configure --prefix=/usr/local/erlang --without-javac
make && make install

因为博主虚拟机上已经装好了java,所以不需要javac。配置安装时间会稍微有点长

  1. 配置erlang环境变量
vim  /etc/profile

添加配置:
---------------
export PATH=$PATH:/usr/local/erlang/bin
----------------
source /etc/profile 		# 使环境变量立即生效。
查看环境变量配置:
echo $PATH

在这里插入图片描述
5. 验证Erlang 安装成功

执行 【erl】,进入编辑器;

在这里插入图片描述

若安装完之后出现 ls 未找到命令之类,因为环境变量被修改,执行:

export PATH=/bin:/usr/bin:$PATH    

到这里为止,erlang安装完毕。后面的坑马上就要来了~

3.安装rabbitmq

前文已经说了,erlang与rabbitmq有版本对应~此处我们选择3.7.14版本

  1. 下载rabbitmq(推荐rpm包)
    博主这里也是从官网下载的
    Rabbitmq官网

在这里插入图片描述
在这里插入图片描述
进入Githup,选定版本下载

在这里插入图片描述

  1. 安装
rpm -ivh rabbitmq-server-3.7.14-1.el6.noarch.rpm 

出现报错,如下:
在这里插入图片描述
原因是缺少socat依赖
解决方法

yum -y install socat

在这里插入图片描述
再次执行rpm命令,依然报错
在这里插入图片描述
这里就是坑的地方,明明下载了对应版本,为何还会出现(然而默认yum仓库中的版本较低),博主查了好多资料,用如下方法解决:
查看自己的erlang版本
在这里插入图片描述
果然比20.3要低
幸好 githup上的erlang 有源,点击打开,找到对应版本,编辑yum源
在这里插入图片描述
githup上已经明确的说明

1. vim  /etc/yum.repos.d/rabbitmq-erlang.repo  #编辑mq的yun源
2. 输入如下命令
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
3. yum clean all
4. yum makecache
5. yum info erlang                #   再一次查看 yum 源中的 erlang 版本
6. yum install  erlang         # 更新到源中的erlang
7. yum install  rabbitmq-server-3.7.14-1.el6.noarch.rpm(yum就会去自动下载对应依赖包)



可能有小伙伴yum info erlang 时候没有出现对应的软件包
升级一下服务器上的yum源就可以了,阿里浙大的都行
yum -y update,过程可能比较漫长,升级好了重新按照上述步骤操作一遍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样,我们的rabbitmq就安装完成了。

4.配置rabbitmq的管理界面

rabbitmq默认是关闭管理界面的

  1. 启动mq
    systemctl start rabbitmq-server

  2. 查看服务启动状态
    rabbitmqctl status

  3. 启用RabbitMQ WEB管理界面
    rabbitmq-plugins enable rabbitmq_management
    在这里插入图片描述
    rabbitmq的管理界面默认端口是15672,windows版本记得没错的话默认账号密码是guest,linux上从rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问

  4. rabbitmq的用户管理

(1) 新增一个用户
rabbitmqctl  add_user  Username  Password
(2) 删除一个用户
rabbitmqctl  delete_user  Username
(3) 修改用户的密码
rabbitmqctl  change_password  Username  Newpassword
(4) 查看当前用户列表
rabbitmqctl  list_users
(5) 给用户设置管理员权限
rabbitmqctl set_user_tags 用户名  administrator

比如,我们创建一个用户 rabbitmqctl add_user admin admin

赋予管理员权限 rabbitmqctl set_user_tags admin adminitrator

在这里插入图片描述
博主这里吐槽一下:明明官网说mq3.7.14版本对应erlang最小是20.3.x,最大是21.3.x,
可是博主装好了之后,erlang却是22.0.7。。。无力吐槽,如果有谁知道为何,欢迎评论下~

大功告成~撒花

5.Docker部署

其实用传统的方式安装mq还是比较烦的,我们这次来用dokcer来安装。没用过docker的小伙伴可以看看我之前写的这篇文章,对docker有过简单介绍。docker的安装这里就不讲了。
Dokcer简介与安装以及Springcloud部署

  1. 寻找rabbitmq镜像
docker search rabbitmq:management

management 表示是有管理界面的
在这里插入图片描述

  1. 下载rabbitmq镜像
docker pull rabbitmq:management
  1. 新建并启动容器
    rabbitmq一共有四个默认端口
端口解释
4369 (epmd), 25672 (Erlang distribution)Epmd 是 Erlang Port Mapper Daemon 的缩写,在 Erlang 集群中相当于 dns 的作用,绑定在4369端口上
5672, 5671 (AMQP 0-9-1 without and with TLS)AMQP 是 Advanced Message Queuing Protocol 的缩写,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,专为面向消息的中间件设计。基于此协议的客户端与消息中间件之间可以传递消息,并不受客户端/中间件不同产品、不同的开发语言等条件的限制。Erlang 中的实现有 RabbitMQ 等。
15672 (if management plugin is enabled)通过http://serverip:15672访问 RabbitMQ 的 Web 管理界面,默认用户名密码都是 guest。(注意:RabbitMQ 3.0之前的版本默认端口是55672,下同)
61613, 61614 (if STOMP is enabled)Stomp 是一个简单的消息文本协议
1883, 8883 (if MQTT is enabled)MQTT 只是 IBM 推出的一个消息协议,基于 TCP/IP 的。两个 App 端发送和接收消息需要中间人,这个中间人就是消息服务器(比如ActiveMQ/RabbitMQ),三者通信协议就是 MQTT

直接启动,默认账号密码guest

docker run -d --hostname my-rabbit --name rabbit -p 8080:15672 rabbitmq:management
--hostname:指定容器主机名称
--name:指定容器名称
-p:将mq端口号映射到本地

在这里插入图片描述
启动时设置用户和密码

docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management

在这里插入图片描述

怎样,docker不是是不是很简单~

6.总结

Docker果然是个好东西,以后有时间,再分享分享mq的代码~

7.结语

世上无难事,只怕有心人,每天积累一点点,fighting!!!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值