Linux安装RabbitMQ安装

1. RabbitMQ介绍

1.1 RabbitMQ关键特性

  • 异步消息传递:允许应用程序在不直接进行网络调用的情况下交换消息。

  • 可靠性:支持消息持久化,确保消息不会在系统故障时丢失。

  • 灵活的路由:支持多种路由选项,包括直接、主题、扇出和头插交换机。

  • 集群支持:可以跨多个服务器运行,以提高可用性和可伸缩性。

  • 高可用性:通过镜像队列和故障转移机制,确保消息传递的高可用性。

  • 多种协议支持:支持 AMQP 0-9-1、0-8、0-10,以及 STOMP、MQTT、HTTP 等。

  • 多种语言客户端库:提供多种编程语言的客户端库,如 Java、.NET、Ruby、Python、PHP、JavaScript 等。

 1.2 使用场景

  • 解耦:将生产者和消费者解耦,使得它们可以独立地开发和部署。
  • 扩展性:通过增加消费者的数量来处理更多的消息。
  • 弹性:在消费者处理能力不足时,消息可以排队等待处理。
  • 消息持久化:确保消息不会因为系统故障而丢失。
  • 优先级消息:支持不同优先级的消息,使得重要消息可以优先处理。

1.3 与其他消息队列系统相比

  • 与 Kafka 比较:Kafka 更注重高吞吐量的消息处理,适合用于大数据处理和日志聚合。而 RabbitMQ 提供了更丰富的消息路由功能和多种协议支持,适合需要复杂路由和多协议支持的场景 。

  • 与 RocketMQ 比较:RocketMQ 也是高性能的分布式消息队列,但它更注重于延时消息和大规模消息处理。RabbitMQ 的社区支持和成熟度较高,适用于多种消息传递场景 。

  • 与 ActiveMQ 比较:ActiveMQ 是 Apache 下的消息队列,与 RabbitMQ 相比,ActiveMQ 的社区活跃度和成熟度较低,但也是一个稳定的消息队列解决方案 。

2.安装依赖包

2.1 安装所需依赖包

yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto
yum install fop.noarch
yum -y install ncurses-devel
yum -y install openssl-devel
yum -y install unixODBC-devel
yum -y install gcc-c++
yum install gtk2-devel.x86_64
yum -y install gtk2-devel binutils-devel
yum install mesa-libGL-devel  mesa-libGLU-devel
yum install fop.noarch

2.2 安装 wxWidgets

wget https://netix.dl.sourceforge.net/project/wxwindows/3.0.1/wxWidgets-3.0.1.tar.bz2
 
bzip2 -dkv wxWidgets-3.0.1.tar.bz2

tar -xvf wxWidgets-3.0.1.tar

cd wxWidgets-3.0.1/

./configure --with-opengl --enable-debug --enable-unicode

make 

make install

3. 安装Erlang环境

3.1 Erlang包下载

wget -c http://erlang.org/download/otp_src_20.2.tar.gz

3.2 编译安装

tar -zxvf otp_src_20.2.tar.gz
cd otp_src_20.2/

#出现no java compile found 加入--without-javac

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

3.3 测试是否成功安装

cd /usr/local/erlang/bin/
./erl
halt().   #成功后退出

3.4 配置环境变量

#将 /usr/local/erlang/bin 加到后面,用:隔开
vi /root/.bash_profile    
PATH=$PATH:$HOME/bin:/usr/local/erlang/bin
#重启
source /root/.bash_profile 

4. RabbitMQ安装

4.1 下载最新安装包

wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unixxz-3.6.15.tar.xz

4.2 编译安装

xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz 
tar -xvf rabbitmq-server-generic-unix-3.6.15.tar
cp -r ./rabbitmq_server-3.6.15 /usr/local/rabbitmpServer

4.3 加入环境变量

export PATH=$PATH:/usr/local/rabbitmq_server-3.6.15/sbin

 4.4 rabbitmq操作指令

启动:rabbitmq-server -detached
关闭:rabbitmqctl stop
状态:rabbitmqctl status

4.5 开机启动

在/etc/init.d 目录下新建一个 rabbitmq

#!/bin/bash
#
# chkconfig: 2345 80 05
# description: rabbitmq 
# processname: rabbitmq
 
#RabbitMQ安装目录
RABBITMQ_HOME=/usr/local/rabbitmpServer
export RABBITMQ_HOME
 
case "$1" in
    start)
    echo "Starting RabbitMQ ..."
    cd $RABBIT_HOME/sbin
    rabbitmq-server
    ;;
stop)
    echo "Stopping RabbitMQ ..."
    cd $RABBIT_HOME/sbin
    rabbitmqctl stop
    ;;
status)
    echo "Status RabbitMQ ..."
    cd $RABBIT_HOME/sbin
    rabbitmqctl status
    ;;
restart)
    echo "Restarting RabbitMQ ..."
    cd $RABBIT_HOME/sbin
    rabbitmq-server
    ;;
 
*)
    echo "Usage: $prog {start|stop|status|restart}"
    ;;
esac
exit 0

4.6 配置rabbitmq网页管理插件

默认来宾用户:guest, 来宾用户密码:guest

rabbitmq-plugins enable rabbitmq_management
http://192.168.?.?:15672  端口默认为15672

 

5. rabbitmq常用命令

查看状态

查看节点状态:rabbitmqctl status
查看节点详细信息:rabbitmqctl status -p

管理用户

添加用户:rabbitmqctl add_user username password
删除用户:rabbitmqctl delete_user username
设置用户权限:rabbitmqctl set_permissions -p vhost user "configure,write,read"
查看用户列表:rabbitmqctl list_users

管理队列

查看所有队列:rabbitmqctl list_queues
查看队列详细信息:rabbitmqctl list_queues -p vhost_name
删除队列:rabbitmqctl delete_queue vhost_name queue_name
清除队列消息:rabbitmqctl purge_queue vhost_name queue_name

管理权限

设置用户权限:rabbitmqctl set_permissions -p vhost user "configure,write,read" "resource"
查看用户权限:rabbitmqctl list_user_permissions user

管理交换器

查看所有交换器:rabbitmqctl list_exchanges
查看交换器详细信息:rabbitmqctl list_exchanges -p vhost_name
删除交换器:rabbitmqctl delete_exchange vhost_name exchange_name

管理绑定

查看绑定:rabbitmqctl list_bindings
查看特定交换器的绑定:rabbitmqctl list_bindings -p vhost_name e exchange_name

插件管理

启用插件:rabbitmq-plugins enable plugin_name
禁用插件:rabbitmq-plugins disable plugin_name
查看已启用的插件:rabbitmq-plugins list

6.最后

感谢大家,请大家多多支持!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

建筑物能耗模拟软件EnergyPlus下载安装及使用

建筑物能耗模拟软件EnergyPlus下载安装及使用 EnergyPlus概述EnergyPlus下载及安装EnergyPlus安装 EnergyPlus使用参考 建筑物能耗模拟软件是一种在建筑设计阶段使用的工具,能够透过电脑模拟预测未来建筑物的能耗情况,达成建筑性能模拟。这有助于评估不同…

C# HttpClient请求URL重定向后丢失Authorization认证头信息 .Net Core Web Api

问题: 使用.Net 入库Doris请求FE端口后,FE响应重定向到其他BE节点出现的认证失败问题。 搜查官方文档后发现: HttpWebRequest.AllowAutoRedirect Property (System.Net) | Microsoft Learn 微软提供的http类库HttpClient (HttpWebRequest\WebClient已不…

python的内存管理机制

python的内存管理机制主要分为三个部分:引用计数、垃圾回收和内存池机制。 引用计数机制: python通过维护每个对象的引用计数来跟踪内存中的对象。当对象被创建时就会有一个引用计数,当对象不再被使用时,引用计数为0&#xff0c…

5.错误处理在存储过程中的重要性(5/10)

错误处理在存储过程中的重要性 引言 在数据库编程中,存储过程是一种重要的组件,它允许用户将一系列SQL语句封装成一个单元,以便重用和简化数据库操作。然而,像任何编程任务一样,存储过程中的代码可能会遇到错误或异常…

攻防世界---->[简单] 初识RSA

做题笔记。 下载 是一个.py的文件。 用 Notepad打开瞅瞅。 分析: L (p-1)*(q-1) dgmpy2.invert(e,L) 求逆元快速算出来:invert(e,φ(N)) 求出d值。 n p*q pq p*(q-1) qp q*(p-1) L 【q*(p-1) * p*(q-1)】 // p*q >>> (p-1)*(…

通信工程学习:什么是OSPF开放式最短路径优先

OSPF:开放式最短路径优先 OSPF(Open Shortest Path First,开放式最短路径优先)是一种内部网关协议(IGP),被广泛应用于计算机网络中,特别是在构建大型和复杂的网络时。以下是对OSPF的…

Pikachu-url重定向-不安全的url跳转

不安全的url跳转 不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。如果后端采用了前端传进来的(可能是用户传参,或者之前预埋在前端页面的url地址)参数作为了跳转的目的地,而又没有做判断的话就可能发生"跳错对象"的问题。 url跳转比较直接的危害是: …

Dev-C++ 安装与使用(dev c++官网)(已解决)

1.Dev-C的安装 ①打开Dev-C的官网(https://sourceforge.net/projects/orwelldevcpp/ );点击Download(下载),等待5秒后开始下载。 ②点开下载好的EXE文件,等待加载完成(如图)。 右键,以管理员身份 运行安装包。 选择English(英语),…

JVS·智能BI数据可视化图表:普通列表与分组列表配置全解析

使用场景 在可视化配置中,很多场景中需要图形和详细信息的融合展示,那么在图表中可以新增普通列表与分组列表的配置。如下图所示: 配置说明 1、新增组件:配置入口如下图所示,新增组件时,选择普通列表与分…

浅谈司库决策分析体系建设

一 、前言:司库管理体系建设 2022年国务院国资委印发《关于推动中央企业加快司库体系建设进一步加强资金管理的意见》,指出司库管理体系是企业集团依托财务公司、资金中心等管理平台,运用现代网络信息技术,以资金集中和信息集中为…

【iOS】计算器仿写

计算器 前言四则运算View层Masonry布局 非法输入的逻辑 前言 前两周进行了计算器的仿写,运用了刚学习的Masonry布局以及MVC框架,同时学习了简单的四则运算,今天撰写博客对计算器的仿写进行一个总结,整理归纳期间遇到的问题和收获…

污水排放口细粒度检测数据集,污-水排放口的类型包括10类目标,10000余张图像,yolo格式目标检测,9GB数据量。

污水排放口细粒度检测数据集,污-水排放口的类型包括10类目标(1 合流下水道,2 雨水,3 工业废水,4 农业排水,5 牲畜养殖,6 水产养殖,7 地表径流,8 废水处理厂&…

PHP中的HTTP请求:获取taobao商品数据的艺术

在电子商务的世界里,数据是宝贵的资产。对于开发者来说,能够快速准确地获取商品数据是一项重要的技能。PHP作为一种流行的服务器端脚本语言,结合cURL扩展,可以轻松实现HTTP请求,从而获取API数据。本文将介绍如何在PHP中…

使用MTVerseXR SDK实现VR串流

1、概述​ MTVerseXR SDK 是摩尔线程GPU加速的虚拟现实(VR)流媒体平台,专门用于从远程服务器流式传输基于标准OpenXR的应用程序。MTVerseXR可以通过Wi-Fi和USB流式将VR内容从Windows服务器流式传输到XR客户端设备, 使相对性能低的VR客户端可…

c++(多态)

多态的定义 多态是⼀个继承关系的下的类对象,去调⽤同⼀函数,产⽣了不同的⾏为 ⽐如Student继承了Person。Person对象买票全价,Student对象优惠买票。 多态实现的条件 • 必须指针或者引⽤调⽤虚函数 第⼀必须是基类的指针或引⽤,…

性能测试-JMeter(1)

性能测试工具 主流性能测试工具LoadrunnerJMeter JMeter环境安装JMeter功能概要JDK常用文件目录介绍JMeter元件和组件介绍元件的基本介绍组件的基本介绍 JMeter元件作用域和执行顺序JMeter第一个案例线程组HTTP请求查看结果树 JMeter参数化(重点)用户定义…

涛思数据库安装和卸载

安装 cd opt/taos/TDengine-server-2.4.0.5 sudo ./install.sh 启动taos​ 安装后,请使用 systemctl 命令来启动 TDengine 的服务进程 systemctl start taosd检查服务是否正常工作: systemctl status taosd 升级 3.0 版在之前版本的基础上&#x…

Vue3 集成 json-editor-vue3

简介 快速编辑json数据,还需要支持全屏编辑,以及json校验。 https://github.com/guyue88/json-editor-vue3 安装依赖 npm install json-editor-vue3 --save 引入 在 main.js中添加 import “jsoneditor”; 全局引入 import Vue from vue import Json…

无人自助超市系统小程序源码开发

随着科技的飞速发展和消费模式的转变,无人自助超市作为一种新兴的商业模式,以其便捷性、高效率以及对“体验式购物”的完美诠释,受到了广泛关注。本文renxb001将深入探讨无人自助超市系统小程序源码开发的核心环节和技术要点。 一、系统需求分…

Electron构建桌面应用程序,服务于项目的自主学习记录(持续更新...

无所畏惧地面对未知,并将其视为成长的机会 大纲官网快速入门1.安装node.js -- 这里推荐用nvm管理2.脚手架创建3.electron 包安装到应用的开发依赖4.创建主进程(main.js)并启动项目1.创建页面2.配置main.js3.启动项目 -- 效果 进阶 -- 基于项目场景功能使用场景一&am…