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

news2024/11/15 11:15:46

摘要

本文档适用于在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.coloradmin.cn/o/1236754.html

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

相关文章

万宾科技智能井盖传感器,预防城市道路安全

随着城市交通的不断发展和城市化进程的加速推进&#xff0c;城市道路安全问题日益凸显。市政井盖作为城市道路的一部分&#xff0c;承担着重要的交通安全保障职责。然而传统的市政井盖管理方式存在许多不足。针对这些问题政府需要采取适当的措施&#xff0c;补足传统管理方式的…

这些仪表板常用的数据分析模型,你都见过吗?

本文由葡萄城技术团队发布。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 ##前言 在数字化时代&#xff0c;数据已经成为了企业决策和管理的重要依据。而仪表板作为一种数据可视化工具&#x…

腾讯云轻量数据库开箱测评,1核1G轻量数据库测试

腾讯云轻量数据库1核1G开箱测评&#xff0c;轻量数据库服务采用腾讯云自研的新一代云原生数据库TDSQL-C&#xff0c;轻量数据库兼100%兼容MySQL数据库&#xff0c;实现超百万级 QPS 的高吞吐&#xff0c;128TB海量分布式智能存储&#xff0c;虽然轻量数据库为单节点架构&#x…

服务器 jupyter 文件名乱码问题

对于本台电脑&#xff0c;autodl服务器&#xff0c;上传中文文件时&#xff0c;从压缩包名到压缩包里的文件名先后会出现中文乱码的问题。 Xftp 首先是通过Xftp传输压缩包到Autodl服务器&#xff1a; 1、打开Xftp&#xff0c;进入软件主界面&#xff0c;点击右上角【文件】菜…

智能座舱架构与芯片 - (1) 背景篇

一、软件定义汽车 1.1 什么是软件定义汽车 软件定义汽车(Software Defined Vehicles, SDV)的核心思想是&#xff0c;决定未来汽车的是人工智能为核心的软件技术&#xff0c;而不再是汽车的马力大小&#xff0c;是否真皮座椅&#xff0c;机械性能的好坏。软件定义汽车的终极目…

bclinux aarch64 openeuler 20.03 LTS SP1 部署 fastCFS

基于已配置好的4个节点部署ceph-0 ceph-1 ceph-2 ceph-3&#xff08;早期ceph测试环境&#xff0c;名称就不修改了&#xff09; 获取fcfs.sh mkdir /etc/fcfs cd /etc/fcfs wget http://fastcfs.net/fastcfs/ops/fcfs.sh 配置/etc/fcfs/fcfs.settings # 要安装的集群版本号…

uni-app - 日期 · 时间选择器

目录 1.基本介绍 2.案例介绍 ①注意事项&#xff1a; ②效果展示 3.代码展示 ①view部分 ②js部分 ③css样式 1.基本介绍 从底部弹起的滚动选择器。支持五种选择器&#xff0c;通过mode来区分&#xff0c;分别是普通选择器&#xff0c;多列选择器&#xff0c;时间选择器&a…

webpack环境变量的设置

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

地奥集团大健康产业再添解酒黑科技:“酒必妥”!

地奥集团成都药业股份有限公司隶属于地奥集团旗下的子公司&#xff0c;至今已经超过百年历史&#xff0c;主要围绕化学药品在耕耘奉献。尽管公司历来都低调&#xff0c;但是地奥这块牌子在质量把控&#xff0c;安全生产把控等药品领域还是响当当。历年来&#xff0c;公司持续对…

【opencv】计算机视觉:停车场车位实时识别

目录 目标 整体流程 背景 详细讲解 目标 我们想要在一个实时的停车场监控视频中&#xff0c;看看要有多少个车以及有多少个空缺车位。然后我们可以标记空的&#xff0c;然后来车之后&#xff0c;实时告诉应该停在那里最方便、最近&#xff01;&#xff01;&#xff01;实现…

squid代理服务器(传统代理、透明代理、反向代理、ACL、日志分析)

一、Squid 代理服务器 &#xff08;一&#xff09;代理的工作机制 1、代替客户机向网站请求数据&#xff0c;从而可以隐藏用户的真实IP地址。 2、将获得的网页数据&#xff08;静态 Web 元素&#xff09;保存到缓存中并发送给客户机&#xff0c;以便下次请求相同的数据时快速…

Docker基础知识总结

文章目录 1.Docker介绍2.Docker版本3.为什么要使用Docker4.Docker基础组件4.1 镜像&#xff08;Images&#xff09;4.2 容器&#xff08;Container&#xff09;和仓库&#xff08;Repository&#xff09; 5.Docker安装6.Docker run7.Dockerfile8.Docker commit9.镜像发布到镜像…

腾讯云轻量数据库试用初体验

腾讯云轻量数据库1核1G开箱测评&#xff0c;轻量数据库服务采用腾讯云自研的新一代云原生数据库TDSQL-C&#xff0c;轻量数据库兼100%兼容MySQL数据库&#xff0c;实现超百万级 QPS 的高吞吐&#xff0c;128TB海量分布式智能存储&#xff0c;虽然轻量数据库为单节点架构&#x…

什么是深度学习

一、深度学习的发展历程 1.1 Turing Testing (图灵测试) 图灵测试是人工智能是否真正能够成功的一个标准&#xff0c;“计算机科学之父”、“人工智能之父”英国数学家图灵在1950年的论文《机器会思考吗》中提出了图灵测试的概念。即把一个人和一台计算机分别放在两个隔离的房…

《微信小程序开发从入门到实战》学习二十四

3.3.12开发创建投票多选投票页面 创建投票多选投票页面和创建单选投票页面没有区别&#xff0c;唯一区别仅在于向服务端发送数据时&#xff0c;告诉服务器这个投票是什么类型的投票。这个类型用三种数据类型表示都可以&#xff0c;分别如下所示&#xff1a; multiple:true/fa…

labelimg 和 labelme 的安装和使用

labelimg 和 labelme 的安装和使用 一&#xff0c;conda创建环境二&#xff0c;labelimg三&#xff0c;labelme 一&#xff0c;conda创建环境 conda安装参考&#xff1a;https://blog.csdn.net/fan18317517352/article/details/123035625 conda create --name labelimg pytho…

CNP实现应用CD部署

上一篇整体介绍了cnp的功能&#xff0c;这篇重点介绍下CNP产品应用开发的功能。 简介 CNP的应用开发&#xff0c;主要是指的应用CD部署的配置管理。 应用列表&#xff0c;用来创建一个应用&#xff0c;一般与项目对应&#xff0c;也可以多个应用对应到一个项目。具体很灵活。…

SpringBoot:ch03 yml 数据绑定示例

前言 Spring Boot 提供了强大的配置能力&#xff0c;通过 YAML 文件进行数据绑定是一种常见且便捷的方式。在本示例中&#xff0c;我们将演示如何利用 Spring Boot 的特性&#xff0c;通过 YAML 文件实现数据绑定。借助于 YAML 的简洁语法和结构化特性&#xff0c;我们能够轻松…

什么是神经网络(Neural Network,NN)

1 定义 神经网络是一种模拟人类大脑工作方式的计算模型&#xff0c;它是深度学习和机器学习领域的基础。神经网络由大量的节点&#xff08;或称为“神经元”&#xff09;组成&#xff0c;这些节点在网络中相互连接&#xff0c;可以处理复杂的数据输入&#xff0c;执行各种任务…

按照指定条件对数据进行分组并对每个分组内的全部数据应用自定义函数进行聚合计算groupby().apply()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 按照指定条件对数据进行分组 并对每个分组内的全部数据 应用自定义函数进行聚合计算 groupby().apply() [太阳]选择题 下列输出正确的是&#xff1a; import pandas as pd data {Name: [A, B,…