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,一经查实,立即删除!

相关文章

局域网协议:VLAN技术介绍

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

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

1台200SMART 如何控制2台步进电机&#xff1f; S7-200SMART CPU最多可输出3路高速脉冲&#xff08;除ST20外&#xff09;&#xff0c;这意味着可同时控制最多3个步进电机&#xff0c;通过运动向导可配置相应的运动控制子程序&#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.然后运行就可以看到效果了

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

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

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…

腾讯极光盒子A4021增强版_线刷官方

1、用USB_Burning_Tool线刷提供的线刷包&#xff0c;所需资料地址在最后 1&#xff09;打开USB_Burning_Tool&#xff0c;选择资料里的A4021_line_flash_root.img&#xff08;文件夹最好没有中文字符和空格&#xff09;&#xff0c;然后点击【开始】。 2&#xff09;盒子准备好…

【C++上层应用】3. 动态内存

文章目录 【 1. new和delete运算符 】1.1 new 分配内存1.2 delete 释放内存1.3 实例 【 2. 数组的动态内存分配 】2.1 一维数组2.2 二维数组2.3 三维数组 【 3. 对象的动态内存分配 】 C 程序中的内存分为两个部分&#xff1a; 栈&#xff1a;在 函数内部 声明的所有变量都将占…

Me-and-My-Girlfriend-1

Me-and-My-Girlfriend-1 一、主机发现和端口扫描 主机发现&#xff0c;靶机地址192.168.80.147 arp-scan -l端口扫描&#xff0c;开放了22、80端口 nmap -A -p- -sV 192.168.80.147二、信息收集 访问80端口 路径扫描 dirsearch -u "http://192.168.80.147/" -e * …

浪潮信息云峦服务器操作系统KeyarchOS体验与实践

写在前面 大家好我是网络豆&#xff0c;一名云计算运维人员&#xff0c;本文将会带大家体验一下浪潮信息服务器操作系统云峦KeyarchOS。看看浪潮信息服务器操作系统云峦KeyarchOS的优势与实践操作如何。 背景了解 KeyarchOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术…

【Element】el-progress 自定义进度条

一、背景 要求弹窗内显示进度条&#xff0c;根据接口获取当前进度值&#xff0c;间隔5秒调用接口获取最新进度值&#xff0c;当进度值为100时&#xff0c;允许关闭进度条弹窗 二、效果 三、实现步骤 3.1、按钮绑定事件&#xff0c;打开弹窗 <el-button class"cance…

接入电商数据平台官方开放平台API接口获取商品实时信息数据,销量,评论,详情页演示

要接入电商数据平台官方开放平台API接口获取商品实时信息数据、销量、评论和详情页演示&#xff0c;需要按照以下步骤进行操作&#xff1a; 找到可用的API接口&#xff1a;首先&#xff0c;需要找到支持查询商品信息的API接口。可以在电商数据平台的官方开放平台上查找相应的AP…

python tkinter 使用

python tkinter 使用 ython可以使用多种GUI库来创建窗口页面&#xff0c;例如Tkinter、PyQt、wxPython等。 本篇文章主要讲述如何使用tkinter。 1&#xff1a;导入 import tkinter as tk这时如果运行的话会提示&#xff1a; ModuleNotFoundError: No module named ‘tkint…

弄懂Rust编程中的Trait

1.定义 trait trait 定义了某个特定类型拥有可能与其他类型共享的功能。可以通过 trait 以一种抽象的方式定义共享的行为。可以使用 trait bounds 指定泛型是任何拥有特定行为的类型。 一个类型的行为由其可供调用的方法构成。如果可以对不同类型调用相同的方法的话&#xff…

机器人制作开源方案 | 莲花灯

1. 功能描述 莲花灯是一款基于莲花形象设计的机器人&#xff0c;本文示例将用两种模式来实现莲花灯的亮灭功能。 自主模式&#xff1a;用 光强传感器 控制莲花灯的灯叶开合。暗光情况下灯叶打开&#xff0c;灯亮&#xff1b;强光情况下灯叶闭合&#xff0c;灯灭。 …

webpack环境变量的设置

现在虽然vite比较流行&#xff0c;但对于用node写后端来说&#xff0c;webpack倒是成了一个很好的打包工具&#xff0c;可以很好的保护后端的代码。所以这块的学习还是不能停下来&#xff0c;接下来我们来针对不同的环境做不同的设置写好笔记。 引用场景主要是针对服务器的各种…

0时区格林威治时间转换手机当地时间-Android

假设传入的是2023-11-01T12:59:10.420987这样的格式 要将格式为2023-11-01T12:59:10.420987的UTC时间字符串转换为Android设备本地时间&#xff0c;您可以使用java.time包中的类&#xff08;在API 26及以上版本中可用&#xff09;。如果您的应用需要支持较低版本的Android&…

docker通过挂载conf文件启动redis

初衷&#xff1a;之前直接在启动脚本中没有挂载配置文件&#xff0c;并且直接设置了密码等&#xff0c;后续要使用集群&#xff0c;苦于无法修改配置&#xff0c;进入redis容器也找不到redis.conf&#xff0c;所以写这个文章用来使用redis的配置&#xff0c;来达到后续都可动态…