【最新版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
相关推荐
浅念-2 小时前
Linux 开发环境与工具链
linux·运维·服务器·数据结构·c++·经验分享
Dontla4 小时前
用pip install -e .开发Python包时,Python项目目录结构(项目结构)(可编辑安装editable install)
python·pip
Thomas.Sir4 小时前
第三章:Python3 之 字符串
开发语言·python·字符串·string
似水এ᭄往昔4 小时前
【Linux】gdb的使用
linux·运维·服务器
tian_jiangnan5 小时前
grafana白皮书
linux·服务器·grafana
威联通网络存储5 小时前
告别掉帧与素材损毁:威联通 QuTS hero 如何重塑影视后期协同工作流
前端·网络·人工智能·python
Dxy12393102165 小时前
Python 根据列表中某字段排序:从基础到进阶
开发语言·windows·python
mizuhokaga5 小时前
Linux内网集群基于Docker 安装 Chat2DB
linux·运维·docker
splage5 小时前
Java进阶——IO 流
java·开发语言·python