【最新版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
相关推荐
_.Switch16 分钟前
Python 自动化运维持续优化与性能调优
运维·开发语言·python·缓存·自动化·运维开发
J不A秃V头A22 分钟前
Python爬虫:获取国家货币编码、货币名称
开发语言·爬虫·python
阿斯卡码2 小时前
jupyter添加、删除、查看内核
ide·python·jupyter
矛取矛求3 小时前
Linux如何更优质调节系统性能
linux
斑驳竹影4 小时前
【RabbitMQ】之高可用集群搭建
分布式·rabbitmq
内核程序员kevin4 小时前
在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署
linux·mysql·docker·.net
P.H. Infinity4 小时前
【RabbitMQ】07-业务幂等处理
java·rabbitmq·java-rabbitmq
埃菲尔铁塔_CV算法4 小时前
图像算法之 OCR 识别算法:原理与应用场景
图像处理·python·计算机视觉
kayotin4 小时前
Wordpress博客配置2024
linux·mysql·docker
封步宇AIGC5 小时前
量化交易系统开发-实时行情自动化交易-3.4.2.Okex行情交易数据
人工智能·python·机器学习·数据挖掘