【最新版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
相关推荐
小狗爱吃黄桃罐头5 分钟前
正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-12.1 Linux内核启动流程简介
linux·arm开发·学习
深科文库23 分钟前
构建 MCP 服务器:第 4 部分 — 创建工具
python·chatgpt·prompt·aigc·agi·ai-native
witton28 分钟前
美化显示LLDB调试的数据结构
数据结构·python·lldb·美化·debugger·mupdf·pretty printer
地衣君1 小时前
Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程
linux·运维·ubuntu
2401_858286111 小时前
OS11.【Linux】vim文本编辑器
linux·运维·服务器·编辑器·vim
朱包林1 小时前
day27-shell编程(自动化)
linux·运维·服务器·网络·shell脚本
kaede1 小时前
Linux实现线程同步的方式有哪些?
linux·运维·云计算
德先生&赛先生1 小时前
Linux编程:2、进程基础知识
linux
nenchoumi31191 小时前
AirSim/Cosys-AirSim 游戏开发(一)XBox 手柄 Windows + python 连接与读取
windows·python·xbox
GoodStudyAndDayDayUp1 小时前
初入 python Django 框架总结
数据库·python·django