【最新版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办公自动化教程(005):Word添加段落
开发语言·python·word
cuisidong199714 分钟前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome
_.Switch22 分钟前
Python机器学习框架介绍和入门案例:Scikit-learn、TensorFlow与Keras、PyTorch
python·机器学习·架构·tensorflow·keras·scikit-learn
赵荏苒34 分钟前
Python小白之Pandas1
开发语言·python
光通信学徒44 分钟前
ubuntu图形界面右上角网络图标找回解决办法
linux·服务器·ubuntu·信息与通信·模块测试
南种北李1 小时前
Linux自动化构建工具Make/Makefile
linux·运维·自动化
小飞猪Jay1 小时前
面试速通宝典——10
linux·服务器·c++·面试
一眼万里*e1 小时前
fish-speech语音大模型本地部署
python·flask·大模型
结衣结衣.2 小时前
python中的函数介绍
java·c语言·开发语言·前端·笔记·python·学习
茫茫人海一粒沙2 小时前
Python 代码编写规范
开发语言·python