Linux环境下安装部署单机RabbitMQ(离线)

摘要

本文档适用于在Linux系统下部署单体RabbitMQ,是在无网的情况下部署的。涉及的任何操作都是通过手动下载安装包然后上传到服务器上进行安装,因此也遇到一些问题,并在此文档中记录。

实际操作环境:Kylin V10,实际操作的Linux系统是银河麒麟。根据我安装的过程,觉得适用于所有Linux的操作系统。

一、准备环境

1.确认目前服务器上是否有gcc的环境

命令:gcc -v

如出现如图所示,如果出现gcc版本信息及其他相关信息,则说明已经有gcc环境了,跳过后续安装gcc步骤;若没有则需要安装。

2.安装gcc、g++

离线安装

阿里云盘下载地址:https://www.aliyundrive.com/s/VpQ3g4L6oub

提取码: sj94

离线安装包:gcc环境安装包

gcc安装包内容如下:

 g++安装包内容:

下载后,把安装包解压到服务器上,先安装gcc,再安装g++。分别执行两个文件夹下的install.sh。

执行命令 sh install.sh 它其实就是去执行rpm -ivh 等全部需要安装命令,这样就可以不用手动去执行了如果执行上述命令出现了问题(一般都是版本问题) 有问题可以手动执行下列图片中所有的rpm。

例:rpm -ivh gcc-4.8.5-4.el7.x86_64.rpm

同一个目录下批量安装rpm文件:rpm -ivh *rpm

如果遇到依赖版本的问题:

error: Failed dependencies:

cpp = 4.8.5-4.el7 is needed by gcc-4.8.5-4.el7.x86_64 libgomp = 4.8.5-4.el7 is needed by gcc-4.8.5-4.el7.x86_64 gcc < 8 conflicts with (installed) UnionTech-rpm-config-129-1.uelc20.03.x86_64

解决方法:强制安装需要安装的rpm文件 参数 --force(强制) --nodeps(不查找依赖关系)

例如:rpm -ivh *rpm --depes --force

如果gcc环境安装完成,那么就可以进行下一步啦。

验证:gcc -vgcc --version
如下图所示:即为成功

二、通过安装包的方式安装Erlang

1.先确认erlang和RabbitMQ之间的版本关系

温馨提示:下滑就能找到你想要的Erlang版本和RabbitMQ的版本

地址:https://rabbitmq.com/which-erlang.html

2.Erlang下载地址

下载地址:

 http://erlang.org/download/

记住是下载tar.gz的压缩包,不要下载错了。

如果下载的慢的,大家可以下载我提供的一个23.2版本

链接:https://pan.baidu.com/s/1a57cSsytZgUxUXUo4J_bNA
提取码:gide

3.上传到服务器

4.解压下载Erlang的安装包

 tar -zxvf otp_src_23.2.tar.gz

5.切换到解压好的目录并安装

cd otp_src_23.2

./configure --prefix=/usr/local/erlang --without-javac

make

make install

 注意观察最后几行如果没出息error等信息,即为安装成功。

6.配置环境变量

vim /etc/profile

在文件末尾添加如下信息在环境变量中:

export ERLANG_HOME=/usr/local/erlang

export PATH=$PATH:/usr/local/erlang/bin

7.刷新环境变量,使其配置生效

 source /etc/profile

8.验证是否安装成功

erl -version 查看版本

输入:erl 能进入它的面板即为成功。

输入:q(). 优雅退出

 安装Erlang遇到的问题

在执行./configure --prefix=/usr/local/erlang --without-javac时遇到如下报错信息:

configure: error: No curses library functions found
ERROR: /data/rabbitmq/otp_src_23.2/erts/configure failed! Killed

这个错误表明在编译 Erlang/OTP 源代码时,找不到 Curses 库函数。Curses 是一个操作终端的库,它通常用于在终端中显示文本界面。

解决方案:安装ncurses-devel,由于不能联网,因此只能手动安装。

下载地址:Index of /gnu/ncurses

提供了一个网盘地址6.0版本

链接:https://pan.baidu.com/s/1c20-kT7szD6ePL7B8LWWWg
提取码:n4x8

我选择的是6.0的版本,大家也可自行选择

下载之后,上传到服务器上

安装ncurses

解压:tar -zxvf ncurses-6.0.tar.gz

cd ncurses-6.0

./configure --with-shared --without-debug --without-ada --enable-overwrite

make 

make install

安装完成之后,就可以重新再执行这个配置Erlang命令:

./configure --prefix=/usr/local/erlang --without-javac,就不会报错了,然后再执行后续的make和make install ,Erlang就安装完成。

三、通过安装包的方式安装RabbitMQ

1.官方提供的安装RabbitMQ的方式:

Downloading and Installing RabbitMQ — RabbitMQ

2. 我们手动下载并上传

在有网的地方访问如下:并将下载好的RabbitMQ的压缩包上传到服务器。

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.8/rabbitmq-server-generic-unix-3.9.8.tar.xz

大家可以自行更改上面RabbitMQ的版本,可以去官网看RabbitMQ的版本,直接替换上面的下载地址的版本信息。就能下载对应版本RabbitMQ。

百度网盘地址:

链接:https://pan.baidu.com/s/1Fq7ZjmUs8qRQeWqM-84lIw
提取码:vgby

3.解压

tar -xvf rabbitmq-server-generic-unix-3.9.8.tar.xz

4.将解压好的RabbitMQ移动到/usr/local 目录(根据自己意思可移可不移)

 mv rabbitmq_server-3.9.8/ /usr/local/rabbitmq

5.配置环境变量

vim /etc/profile

在文件末尾添加如下信息在环境变量中:

export RABBIT_MQ_HOME=/usr/local/rabbitmq

export PATH=$PATH:/usr/local/rabbitmq/sbin

6.刷新环境变量,使其配置生效

 source /etc/profile

7.添加web管理的插件

rabbitmq-plugins enable rabbitmq_management

 执行之后,如下所示:

8.启动RabbitMQ

rabbitmq-server -detached

/usr/local/rabbitmq/sbin/rabbitmq-server -detached

由于RabbitMQ的默认账号是guest,只能本机通过localhost方式访问了,因此接下来我们重新创建一个用户,并设置成为管理员和全部权限。

9.创建用户和密码

rabbitmqctl add_user <用户> <密码>

例: rabbitmqctl add_user admin admin

查看是否添加成功:rabbitmqctl list_users

10.将创建的新用户设置为管理员

rabbitmqctl set_user_tags <用户名> administrator

11.赋予新创建的用户所有权限

rabbitmqctl set_permissions -p / <用户名> ".*" ".*" ".*"

 四、RabbitMQ常用命令

## 服务启动停止:

# 服务启动:

rabbitmq-server -detached

#服务停止:

rabbitmqctl stop

## 插件管理:

# 插件列表:

rabbitmq-plugins list

# 启动插件:

rabbitmq-plugins enable XXX   #(XXX为插件名)

# 停用插件:

rabbitmq-plugins disable XXX

## 用户管理:

# 添加用户:

rabbitmqctl add_user username password

# 删除用户:

rabbitmqctl delete_user username

# 修改密码:

rabbitmqctl change_password username newpassword

# 设置用户角色:

rabbitmqctl set_user_tags username tag

# 列出用户:

rabbitmqctl list_users

## 权限管理:

# 列出所有用户权限:

rabbitmqctl list_permissions

# 查看制定用户权限:

rabbitmqctl list_user_permissions username

# 清除用户权限:

rabbitmqctl clear_permissions [-p vhostpath] username

# 设置用户权限:

# conf: 一个正则匹配哪些资源能被该用户访问

# write:一个正则匹配哪些资源能被该用户写入

# read:一个正则匹配哪些资源能被该用户读取

rabbitmqctl set_permissions [-p vhostpath] username conf write read

五、验证

启动RabbitMQ之后,可以通过如下命令查看是否有关于15672的端口,这个web访问的端口

命令:netstat -lnpt

说明RabbitMQ就成功启动了。

访问:IP+15672,如果出现如下图所示:即为安装成功。

参考:RabbitMQ环境部署(Windows、单机、Docker、集群)_rabbitmq windows 部署_用生命研发技术的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/157750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中反射的使用总结

反射是.NET中的重要机制&#xff0c;通过反射&#xff0c;可以在运行时获得程序或程序集中每一个类型&#xff08;包括类、结构、委托、接口和枚举等&#xff09;的成员和成员的信息。可以直接通过反射方式创建对象&#xff0c;即使这个对象的类型在编译时没有加载。本文主要介…

基于哈夫曼树的数据压缩算法

基于哈夫曼树的数据压缩算法是一种有效的编码方法&#xff0c;可以对待压缩文件进行压缩&#xff08;即编码&#xff09;&#xff0c;同时可以对压缩后的二进制编码文件进行解压&#xff08;即译码&#xff09;。以下是其工作原理&#xff1a; 输入一串字符串&#xff0c;根据…

MyBatis整合多数据源

基础环境 SpringBoot : 3.0.0 Java: jdk-17.0.5 Maven: 3.6.1引入相关jar <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&…

局域网协议:VLAN技术介绍

文章目录 VLAN概述VLAN的优点VLAN的原理VLAN的配置推荐阅读 VLAN概述 VLAN&#xff08;Virtual Local Area Network虚拟局域网&#xff09;是一种在物理网络基础上划分逻辑上独立的局域网的技术。它允许将网络设备按照逻辑上的需求而非物理位置进行分组&#xff0c;提供更好的…

Python除法

1.整数除以整数 练习下面的运算&#xff1a; >>> 2/5 0 >>> 2.0/5 0.4 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 看到没有&#xff1f;麻烦出来了&#xff08;这是在python2.x中&#xff09;&#x…

硬技能之上的软技巧(一)

在硬技能的基础上&#xff0c;如何运用软技巧来提升个人能力和职业发展。 硬技能通常指的是专业技能和知识&#xff0c;这些技能是我们在职场中安身立命的基础&#xff0c;也是我们能够胜任工作的关键。 常见的硬技能包括编程、设计、市场营销等。 然而&#xff0c;仅有硬技…

西门子S7-200SMART常见通讯问题解答

1台200SMART 如何控制2台步进电机&#xff1f; S7-200SMART CPU最多可输出3路高速脉冲&#xff08;除ST20外&#xff09;&#xff0c;这意味着可同时控制最多3个步进电机&#xff0c;通过运动向导可配置相应的运动控制子程序&#xff0c;然后通过调用子程序编程可实现对步进电…

读书笔记:彼得·德鲁克《认识管理》第29章 有效决策

一、章节内容概述 决策不是一项机械性工作&#xff0c;而是一种冒险&#xff0c;也是对判断力的考验。“正确答案”不是决策的核心&#xff0c;通常情况下无论如何都无法找到正确答案。决策的核心是对问题的认可。决策也不是一项智力活动&#xff0c;而是调 动组织的想象力、精…

矩阵相乘

描述 输入N和M建立矩阵A[N][M]&#xff0c; B[M][N] 矩阵C A * B 输出矩阵C 例如: 输入&#xff1a; 2 3 1 2 3 4 5 6 100 10 100 1 1000 -1 -1 输出: 123 3210 456 6540 输入 输入N和M&#xff0c;建立矩阵A[N][M]&#xff0c; B[M][N]&#xff0c;以-1&#xff0c;-1结尾 输入…

【算法-字符串1】反转字符串 + 反转字符串2

今天&#xff0c;带来字符串相关算法的讲解。文中不足错漏之处望请斧正&#xff01; 理论基础点这里 1. 反转字符串 题意简化 题意已经很简洁。 题意转化 将字符串的顺序倒转。 解决思路(抽象) 这道题的反转可以直接调用一个库函数&#xff0c;但是这样做意义不大。 能…

单链表OJ--8.相交链表

8.相交链表 160. 相交链表 - 力扣&#xff08;LeetCode&#xff09; /* 解题思路&#xff1a; 此题可以先计算出两个链表的长度&#xff0c;让长的链表先走相差的长度&#xff0c;然后两个链表同时走&#xff0c;直到遇到相同的节点&#xff0c;即为第一个公共节点 */struct Li…

前端学习--React(1)

一、React简介 React由Meta公司研发&#xff0c;是一个用于 构建Web和原生交互界面的库 优势&#xff1a;组件化开发、不错的性能、丰富生态&#xff08;所有框架中最好&#xff09;、跨平台&#xff08;web、ios、安卓&#xff09; 开发环境搭建 打开相应文件夹 新建终端并…

QT修改windowTitle的名字以及图片

1.修改名字:点击ui的QMainWindow,然后找到windowTitle的选项修改即可 2.修改windowTitle的图片,依旧是找到windowIcon,选择资源,这个资源可以是你放到qrc里面的图片也可以是外置的图片 3.然后运行就可以看到效果了

精通Nginx(17)-安全管控

安全是每个系统都需要考虑的关键因素,Nginx在这方面提供了丰富的功能,使我们可以就实际情形做很精细调整。这些功能包括防信息暴露、客户端访问限制、通讯加密、防DDos攻击、防爬虫、防非法引用及防非法域名请求等。 目录 防信息暴露 关闭版本号 关闭目录列表 客户端访问…

行情分析——加密货币市场大盘走势(11.21)

大饼昨日笔者已经离场&#xff0c;目前下跌形态破坏&#xff0c;等待机会再入场&#xff0c;下跌是必然的&#xff0c;只是现在从MACD日线来看是要上涨的&#xff0c;上涨趋势没有打破&#xff0c;等待机会入场。 MACD日线多单策略&#xff1a;入场37500 止盈38000-38600 止损…

Java实现LeetCode题目

Leetcode707设计链表 使用Java设计一个链表 package link_list;public class Design_Link {public static void main(String[] args) {Design_Link demo new Design_Link();Design_Link.myLinkedList myLink new Design_Link().new myLinkedList();myLink.addHead(0);myLin…

OceanBase:OBServer节点管理

目录 1.查看节点 2.添加节点 2.1 创建数据目录 2.2.OceanBase 运行时所依赖的部分三方动态库 2.3.安装 OceanBase 数据库的 RPM 包 2.4.启动节点 observer 进程 2.5.向集群中添加节点 3.隔离节点 4.重启节点 4.1 停止服务 4.2 转储 4.3 关闭进程 4.4 启动进程 4.…

gitBash中如何使用Linux中的tree命令

文章目录 在gitBash中安装tree的目的如何安装安装完成,就可以直接完美适配Linux系统了在gitBash中安装tree的目的 如下图,powershell虽然可以看做是window下的Linux系统,但是根本就不适配很多Linux中的命令 如何安装 tree.exe安装网址 下载 tree 命令的 二进制包,安装 tr…

linux如何一键自动安装系统(PXE)

PXE概述 1、PXE 预启动执行环境&#xff0c;在操作系统之前运行 由Intel公司开发的网络引导技术&#xff0c;工作在Client/Server模式&#xff0c; 允许客户机通过网络从远程服务器下载引导镜像&#xff0c;并加载安装文件或者整个操作系统 2、PXE的优点 规模化:同时装配多…

C++实现:实现一个函数,接受一个n x n的矩阵并返回其行列式的值 某知名上市公司笔试题

目录 题目描述: 分析: 实现代码: 题目描述: 实现一个函数,接受一个n x n的矩阵并返回其行列式 如何求解矩阵的行列式? 1x1 矩阵 [[a]] 的行列式为 a。 2x2 矩阵 [ [a, b],[c, d]]的行列式为 a*d - b*c 通过将问题简化为 n 个大小为 n-1 x n-1的矩阵的行列式来计算,可…