【最新版RabbitMQ3.13】Linux安装基于源码构建的RabbitMQ教程

前言

linux环境

安装方式有三种,我们这里使用源码安装 Linux下rpm、yum和源码三种安装方式简介

个人语雀首发教程:https://www.yuque.com/wzzz/java/kl2zn22b42svsc6b

csdn地址: https://blog.csdn.net/u013625306/article/details/137151862

安装版本准备

由于RabbitMQ是用Erlang语言写的,所以在安装RabbitMQ之前,需要先安装Erlang

  1. RabbitMQ和Erlang版本兼容性关系

https://www.rabbitmq.com/docs/which-erlang

  1. 选定安装版本

RabbitMQ: 3.13.0

Erlang: 26.0

安装Erlang:26.0

参考安装教程:https://blog.csdn.net/laterstage/article/details/131513793?spm=1001.2014.3001.5501

Erlang官网:https://www.erlang.org/downloads

查看自己centos版本:

shell 复制代码
[root@VM-16-13-opencloudos ~]# cat /etc/redhat-release
OpenCloudOS release 8.8.2305 (Core)

可以看到我的服务器是centos8的。。。

打开erlang官网,找到下载源码的地方

首先创建如下目录

bash 复制代码
wget https://github.com/erlang/otp/releases/download/OTP-26.0/otp_src_26.0.tar.gz

网差的可以先下载再挪到linux上

解压下载好的文件

bash 复制代码
 tar -zxvf otp_src_26.0.tar.gz

可以看到解压完成

编译并安装,命令详解请看:./configure、make、make install命令

bash 复制代码
./configure prefix=/software/rabbitmq/erlang
make
make install PREFIX=/software/rabbitmq/erlang

我这里make命令执行了很久,大概好几分钟

安装完成之后,校验erlang版本号:

可以看到安装了Erlang 26版本成功了

接下来配置环境变量

bash 复制代码
echo 'export PATH=$PATH:/software/rabbitmq/erlang/bin' >> /etc/profile

刷新环境变量,使其生效

bash 复制代码
source /etc/profile

可以直接访问了

安装RabbitMQ=3.13.0

下载源码

bash 复制代码
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.0/rabbitmq-server-generic-unix-3.13.0.tar.xz
bash 复制代码
 xz -d rabbitmq-server-generic-unix-3.13.0.tar.xz
bash 复制代码
tar -xvf rabbitmq-server-generic-unix-3.13.0.tar

重点:需要解压两次,很奇怪

更新path环境,编辑/etc/profile文件

如下:

在解决了错误后,成功启动

以后台方式启动

bash 复制代码
./rabbitmq-server -detached

默认rabbitmq的账户只能localhost访问,因此添加一个账户,能外网访问

bash 复制代码
rabbitmqctl add_user wangzhen password

给账户添加administrator权限

bash 复制代码
rabbitmqctl set_user_tags wangzhen administrator

设置任何ip都能访问

bash 复制代码
rabbitmqctl set_permissions -p / wangzhen ".*" ".*" ".*"

输入你的公网ip:15762访问你的rabbitmq~

下图为安装成功

一些rabbitmq的常用命令

  1. 启动rabbitmq-server
  2. 启动自带的后台管理界面

./rabbitmq-plugins enable rabbitmq_management

  1. 停止运行mq
bash 复制代码
rabbitctl stop
  1. 其它命令
bash 复制代码
systemctl start rabbitmq-server #启动服务
systemctl status rabbitmq-server #查看服务状态
systemctl stop rabbitmq-server #停止服务
systemctl enable rabbitmq-server #开启启动服务

远程访问相关

  1. 默认guest用户是不允许远程访问的,需要增加一个用户并赋予权限:
bash 复制代码
# 添加用户并指定密码
rabbitmqctl add_user bbq 123456
#置为超级管理员管理
rabbitmqctl set_user_tags bbq administrator
#设置用户权限
rabbitmqctl set_permissions -p "/" bbq "." "." ".*"

安装时遇到的错误

  1. {"init terminating in do_boot",{error,{crypto,{"no such file or directory","crypto.app"}}}}init terminating in do_boot ({error,{crypto,{no such file or directory,crypto.app}}})

解决办法:https://www.cnblogs.com/hellxz/p/16697267.html

参考文献

  1. https://blog.csdn.net/m0_67392273/article/details/124293381
  2. https://blog.csdn.net/laterstage/article/details/131522924
相关推荐
钢铁男儿4 分钟前
Python 正则表达式(正则表达式和Python 语言)
python·mysql·正则表达式
钢铁男儿13 分钟前
Python 正则表达式实战:解析系统登录与进程信息
开发语言·python·正则表达式
AOwhisky23 分钟前
Linux 文本处理三剑客:awk、grep、sed 完全指南
linux·运维·服务器·网络·云计算·运维开发
前端小趴菜0541 分钟前
python - range
python
☺����44 分钟前
实现自己的AI视频监控系统-第一章-视频拉流与解码1
人工智能·python·音视频
Gavin_9151 小时前
从零开始部署经典开源项目管理系统最新版redmine6-Linux Debian12
linux·ruby on rails·开源·debian·ruby·redmine
前端小趴菜051 小时前
python - 元组常用操作
python
花小璇学linux1 小时前
imx6ull-驱动开发篇31——Linux异步通知
linux·驱动开发·嵌入式软件
前端小趴菜051 小时前
python - 列表方法
python
shelutai1 小时前
ubuntu 编译ffmpeg6.1 增加drawtext,libx264,libx265等
linux·ubuntu·ffmpeg