基于CentOS Stream 9平台搭建RabbitMQ3.13.4以及开机自启

1. erlang与RabbitMQ对应版本参考:https://www.rabbitmq.com/which-erlang.html

3.13


2. 安装erlang

官网:https://www.erlang.org/downloads

GitHub: https://github.com/rabbitmq/erlang-rpm/releases


2.1 安装依赖:

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel socat kernel-devel glibc-devel m4 xz 

2.2 指定目录下载

cd /usr/local/
wget https://github.com/erlang/otp/releases/download/OTP-26.2.5.1/otp_src_26.2.5.1.tar.gz

2.3 解压

 tar -zxvf otp_src_26.2.5.1.tar.gz

2.4 创建erlang安装目录

mkdir erlang

2.5 切换目录

cd otp_src_26.2.5.1/

2.6 配置安装路径

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

2.7 安装

make install

2.8 查看一下是否安装成功

ll /usr/local/erlang/bin

2.9 添加环境变量

echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

2.10 刷新环境变量

source /etc/profile

2.11 测试进入erl

erl

2.12 退出

halt().

3. 安装RabbitMQ

官网: https://rabbitmq.com/

GitHub: https://github.com/rabbitmq/rabbitmq-server/releases

3.13.4


3.1 下载

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.4/rabbitmq-server-generic-unix-3.13.4.tar.xz

3.2 安装xz

yum install -y xz

3.3 第一次解压

/bin/xz -d rabbitmq-server-generic-unix-3.13.4.tar.xz

3.4 第二次解压

tar -xvf rabbitmq-server-generic-unix-3.13.4.tar

3.5 重命名

mv rabbitmq_server-3.13.4 rabbitmq

3.6 配置环境变量

echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

3.7 刷新环境变量

source /etc/profile

3.8 创建配置目录

mkdir /etc/rabbitmq

3.9 开启web插件

cd /usr/local/rabbitmq/sbin
rabbitmq-plugins enable rabbitmq_management

sbdn


3.10 相关命令:启动、停止、状态

rabbitmq-server -detached
rabbitmqctl stop
rabbitmqctl status

3.11 开放需要的端口

rabbitmq的

firewall-cmd --add-port=15672/tcp --permanent   
firewall-cmd --add-port=5672/tcp --permanent
firewall-cmd --add-port=9876/tcp --permanent
firewall-cmd --add-port=10909/tcp --permanent
firewall-cmd --add-port=10911/tcp --permanent

Erlang的

firewall-cmd --add-port=4369/tcp --permanent
firewall-cmd --reload

查看开放端口列表

firewall-cmd --permanent --list-port

访问:http://127.0.0.1:15672/

默认账号密码:guest guest(这个账号只允许本机访问)

3.12 设置用户

查看所有用户

rabbitmqctl list_users

添加一个用户

rabbitmqctl add_user coisini 123456

配置权限

rabbitmqctl set_permissions -p "/" coisini ".*" ".*" ".*"

查看用户权限

rabbitmqctl list_user_permissions coisini

设置tag

rabbitmqctl set_user_tags coisini administrator

删除用户(出于安全考虑,删除默认用户)

rabbitmqctl delete_user guest

访问:http://127.0.0.1:15672/
启动


4. 开机自启

创建软连接(一般存在了)

ln -s /usr/local/erlang/sbin/erl /usr/bin/erl

4.1 编辑服务文件

vi /lib/systemd/system/rabbitmq.service

4.2 添加以下内容:

# 启动顺序与依赖关系
[Unit]
# 描述信息,表明这个服务是 rabbitmq
Description=rabbitmq
# 指定服务在 network.target(网络初始化) 和 syslog.target(系统日志服务)之后启动
After=network.target syslog.target
# 启动行为
[Service]
# 以通知机制的方式启动
Type=notify
# 指定以 root 用户、root 用户组 身份运行服务
User=root
Group=root
# 设置服务的工作目录
WorkingDirectory=/usr/local/rabbitmq
# 服务启动命令路径
ExecStart=/usr/local/rabbitmq/sbin/rabbitmq-server
# 服务停止命令路径
ExecStop=/usr/local/rabbitmq/sbin/rabbitmqctl shutdown
# 当服务异常退出自动重启
Restart=on-failure
# 服务启用私有的 /tmp 目录,确保服务的临时文件与其他服务隔离
PrivateTmp=true
# 设置重启服务之前等待的秒数为 10 秒
RestartSec=10
# 定义服务成功退出的状态码
SuccessExitStatus=69# 表示如何安装配置文件。
[Install]
# 多用户命令行模式
WantedBy=multi-user.target

4.3 重新加载systemctl脚本

systemctl daemon-reload

4.4 开启开机自启

systemctl enable rabbitmq

4.5 重启验证:

reboot

感谢阅览,暂时记录到这,结束。

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

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

相关文章

Nginx实战:nginx性能压测(ab)

在nginx的生产实践中,不管是服务上线,还是性能优化,都会遇到需要对nginx的性能压测,本文介绍一个简单的压测工具:ab命令 ab(Apache Bench)是一个常用的HTTP压力测试工具,可以用来测试Nginx的性能和压力。ab命令可以指定并发请求数、请求数、请求类型等参数,并输出测试…

550kg级大载重长航时无人机直升机技术详解

550kg级大载重长航时无人机直升机,作为一种高性能的无人机系统,具备了多项先进的技术特点,以满足高海拔、高寒等复杂环境下的应用需求。这些无人机直升机通常具备高载重、长航时、强适应性、高可靠性和良好的任务拓展性。 设备由无人直升机平…

【面试八股文】java基础知识

引言 本文是java面试时的一些常见知识点总结归纳和一些拓展,笔者在学习这些内容时,特地整理记录下来,以供大家学习共勉。 一、数据类型 1.1 为什么要设计封装类,Integer和int区别是什么? 使用封装类的目的 对象化:…

数据结构——单链表专题

前言 本篇我们继续来介绍数据结构的知识——链表,这与顺序表是一个类别的知识,同样也非常重要,所以大家需要掌握好链表的内容,这对我们后面数据结构的学习也很重要,如果你对本篇的内容感兴趣,希望大佬可以…

四大常见的排序算法JAVA

1. 冒泡排序 相邻的元素两两比较,大的放右边,小的放左边 第一轮比较完毕之后,最大值就已经确定,第二轮可以少循环一次,后面以此类推 如果数组中有n个数据,总共我们只要执行n-1轮的代码就可以 package Bu…

【matlab】状态空间模型与传递函数模型的建立与转换

目录 SISO系统 MIMO系统 状态空间模型 状态空间模型到传递函数模型的转换 传递函数模型到状态空间模型的转换 (1) 转换函数ss() (2) 规范形转换函数canon() (3) 常微分方程(传递函数)转换为状态空间模型函数dif2ss() 状态空间模型的变换 特征值、特征向量与广义特征向量的计算…

everything高级搜索-cnblog

everything高级搜索用法 基础4选项验证 总结搜索方式 高级搜索搜指定路径文件名: 文件名 路径不含文件名: !文件名包含单词 路径包含指定内容: 路径 content:内容 大小写 区分大小写搜索搜指定路径文件名: case:文件名 路径全字匹配 全字搜指定路径文件名: wholewo…

中霖教育:二级建造师未注册还需要继续教育吗?

关键词:中霖教育怎么样,中霖教育口碑 如果通过了二级建造师考试但是没有注册,还用继续教育吗? 1. 未注册的二级建造师 二级建造师在其证书获取后三年内没有进行注册时,在申请初始注册之前必须完成规定的本专业继续教育课程。 …

ubuntu运行qq音乐闪退

ubuntu运行qq音乐闪退 修改/usr/share/applications中的qqmusic.desktop,在Exec后加上 --no-sandbox,如下图所示: 该文件有可能是只读,权限不够的话用sudo vim qqmusic.desktop

java项目的一些功能(完善登录功能、注册接口参数校验、完善分页查询、完善日期格式、更新文章分类和添加文章分类的分组校验、自定义校验、文件上传 )

目录 完善登录功能 注册接口参数校验 完善分页查询 完善日期格式 更新文章分类和添加文章分类的分组校验 ​编辑 自定义校验 文件上传 完善登录功能 对前端传过来的明文密码进行md5加密处理 password DigestUtils.md5DigestAsHex(password.getBytes()); 这样既可 注…

Python数据分析案例50——基于EEMD-LSTM的石油价格预测

案例背景 很久没更新时间序列预测有关的东西了。 之前写了很多CNN-LSTM,GRU-attention,这种神经网络之内的不同模型的缝合,现在写一个模态分解算法和神经网络的缝合。 虽然eemd-lstm已经在学术界被做烂了,但是还是很多新手小白或…

驾校管理系统的全面革新与升级

智慧驾校系统是一款专为现代驾校量身定制的综合性管理平台,它深度融合了云计算、大数据、物联网及人工智能等前沿技术,旨在为驾校打造一个高效、智能、便捷的运营生态系统。该系统通过数字化、信息化的手段,彻底革新了传统驾校的管理模式,不仅极大地提升了驾校的运营效率,…

Open3D 点云CPD算法配准(粗配准)

目录 一、概述 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2配准后点云 一、概述 在Open3D中,CPD(Coherent Point Drift,一致性点漂移)算法是一种经典的点云配准方法,适用于无序点云的非…

【漏洞复现】宏景eHR LoadOtherTreeServlet SQL注入漏洞

0x01 产品简介 宏景eHR人力资源管理软件是一款人力资源管理与数字化应用相融合,满足动态化、协同化、流程化、战略化需求的软件。 0x02 漏洞概述 宏景eHR LoadOtherTreeServlet接口处存在SQL注入漏洞,未经身份验证的远程攻击者除了可以利用 SQL 注入漏…

孩子很内向,是不是自闭症?

作为星启帆寄宿制自闭症学校的老师,我深知内向与自闭症之间存在着本质的区别,尽管两者在社交表现上可能有一定的相似性。 首先,内向是一种性格特质,表现为个体在社交场合中相对安静、羞涩,更喜欢独处或与小范围的人交往…

Webpack: Loader开发 (1)

概述 如何扩展 Webpack?有两种主流方式,一是 Loader —— 主要负责将资源内容翻译成 Webpack 能够理解、处理的 JavaScript 代码;二是 Plugin —— 深度介入 Webpack 构建过程,重塑 构建逻辑。 相对而言,Loader 的职责…

Zookeeper分布式锁原理说明【简单易理解】

Zookeeper 非公平锁/公平锁/共享锁 。 1.zookeeper分布式锁加锁原理 如上实现方式在并发问题比较严重的情况下,性能会下降的比较厉害,主要原因是,所有的连接都在对同一个节点进行监听,当服务器检测到删除事件时,要通知…

人脸识别课堂签到系统【PyQt5实现】

人脸识别签到系统 1、运用场景 课堂签到,上班打卡,进出门身份验证。 2、功能类别 人脸录入,打卡签到,声音提醒,打卡信息导出,打包成exe可执行文件 3、技术栈 python3.8,sqlite3,opencv,face_recognition,PyQt5,csv 4、流程图 1、导入库 2、编写UI界面 3、打…

HackTheBox----Editorial

Editorial 测试过程 1 信息收集 NMAP端口扫描 nmap -sC -sV 10.10.11.20服务器开启了 22、80 端口 80 端口测试 服务器只开启了 22 和 80 端口,先从 80 端口开始进行测试 echo "10.10.11.20 editorial.htb" | sudo tee -a /etc/hostspublish with us…

SwiftData 模型对象的多个实例在 SwiftUI 中不能及时同步的解决

概览 我们已经知道,用 CoreData 在背后默默支持的 SwiftUI 视图在使用 @FetchRequest 来查询托管对象集合时,若查询结果中的托管对象在别处被改变将不会在 FetchedResults 中得到及时的刷新。 那么这一“囧境”在 SwiftData 里是否也会“卷土重来”呢?空说无益,就让我们在…