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.bz2bzip2 -dkv wxWidgets-3.0.1.tar.bz2tar -xvf wxWidgets-3.0.1.tarcd wxWidgets-3.0.1/./configure --with-opengl --enable-debug --enable-unicodemake 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_HOMEcase "$1" instart)echo "Starting RabbitMQ ..."cd $RABBIT_HOME/sbinrabbitmq-server;;
stop)echo "Stopping RabbitMQ ..."cd $RABBIT_HOME/sbinrabbitmqctl stop;;
status)echo "Status RabbitMQ ..."cd $RABBIT_HOME/sbinrabbitmqctl status;;
restart)echo "Restarting RabbitMQ ..."cd $RABBIT_HOME/sbinrabbitmq-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.rhkb.cn/news/437092.html

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

相关文章

G502 鼠标自定义(配合 karabiner)

朋友送了我一个 G502 多功能鼠标,除了鼠标正常的左键、右键和滑轮外,额外提供了 6 个按键,并且滑轮可以向左、向右、向下按下,共计 9 个自定义的按键。 虽然是 karabiner 的老用户,但一直在使用 TrackPad,所…

Disco公司的DBG工艺详解

知识星球里的学员问:可以详细介绍下DBG工艺吗?DBG工艺的优势在哪里? 什么是DBG工艺? DBG工艺,即Dicing Before Grinding,划片后减薄。Dicing即金刚石刀片划切,Grinding即背面减薄,…

8. Bug 与 Error

计算机程序中的缺陷通常被称为 bug。把它们想象成偶然爬进我们工作中的小东西,会让程序员感觉良好。当然,实际上是我们自己把它们放进去的。 如果程序是思想的结晶,我们可以将错误大致分为思想混乱造成的错误和将思想转化为代码时引入错误造成…

在idea使用nacos微服务

一.安装nacos 、依赖记得别放<dependencyManagement></dependencyManagement>这个标签去了 1.在linux拉取镜像安装 docker pull nacos/nacos-server:1.3.1 2.创建挂载目录 mkdir -p /usr/local/docker/nacos/init.d /usr/local/docker/nacos/logs 3.安装nacos…

昇思MindSpore进阶教程--下沉模式

大家好&#xff0c;我是刘明&#xff0c;明志科技创始人&#xff0c;华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享&#xff0c;如果你也喜欢我的文章&#xff0c;就点个关注吧 正文开始 昇腾芯片集成了AICORE和AICPU等…

MFC工控项目实例二十一型号选择界面删除参数按钮禁用切换

承接专栏《MFC工控项目实例二十手动测试界面模拟量输入实时显示》 对于禁止使用的删除、参数按钮&#xff0c;在选中列表控件选项时切换为能够使用。 1、在TypDlg.h文件中添加代码 #include "ShadeButtonST.h" #include "BtnST.h" class CTypDlg : publi…

Kafka快速实战与基本原理详解

笔记:https://note.youdao.com/ynoteshare/index.html?id=b0357bdb4821ed2e35ecdbdacd65aa06&type=note&_time=1727570043631 启动kafka之前先启动zookper 看看ZK里面都有什么数据 : 刚开始什么数据都没有 接下来启动kafka,启动好后,日志在这里看: 启动好了kaf…

AT89s51单片机和STC单片机烧录不同引脚问题

首先确定一下&#xff0c;两种烧录接口引脚不同 STC烧录器主要使用串口引脚 实际上stm32中也可以使用这种UART通信方式烧录程序&#xff0c;只是需要确定连接引脚进入bootloader模式 AT89S51来源Atmel公司&#xff0c;其中AVR单片机也是这个公司 ISP和SPI不是一个概念&…

Ubuntu网卡配置

一、低阶版本配置网卡步骤:(如Ubuntu 16.04.2 LTS) 编辑配置文件interfaces,添加网卡配置信息 我这边以root用户登录进服务器,就不需要普通用户每次在命令前添加sudo vim /etc/network/interfaces 1.动态获取ip设置: auto ens3 # 网卡设备名称ens3 iface ens3 ine…

车辆重识别(2021NIPS在图像合成方面,扩散模型打败了gans网络)论文阅读2024/10/01

本文在架构方面的创新&#xff1a; ①增加注意头数量&#xff1a; 使用32⇥32、16⇥16和8⇥8分辨率的注意力&#xff0c;而不是只使用16⇥16 ②使用BigGAN残差块 使用Big GAN残差块对激活进行上采样和下采样 ③自适应组归一化层 将经过组归一化操作后的时间步和类嵌入到每…

YOLO11改进|卷积篇|RFAConv创新空间注意力和标准卷积操作

目录 一、RFAConv卷积1.1RFAConv卷积介绍1.2RFAConv核心代码 五、添加RFAConv卷积5.1STEP15.2STEP25.3STEP35.4STEP4 六、yaml文件与运行6.1yaml文件6.2运行成功截图 一、RFAConv卷积 1.1RFAConv卷积介绍 RFAConv卷积操作提出了一种融合了空间注意力机制和标准卷积操作的新型卷…

使用WPF实现一个快速切换JDK版本的客户端工具

发现网上一键切换JDK环境的方法都是在mac或Linux下的&#xff0c;本人主力电脑是Windows&#xff0c;于是看了一下WPF的文档&#xff0c;自己开发了一个客户端。 直接上代码吧&#xff1a; using JavaSwitch.Properties; using Newtonsoft.Json; using System; using System.…

【软件测试】详解软件测试中的测试级别

目录 一、测试级别二、组件测试三、开发者测试3.1测试与调试3.2 组件测试目标3.3 测试功能 四、稳健性测试4.1 效率的测试4.2 测试可维护性4.3 测试策略4.4 白盒测试 一、测试级别 软件系统通常是由许多子系统组成的&#xff0c;而这些子系统又是由多个组件组成的&#xff0c;…

从入门到入土:计算机视觉CV学习路线图

在当今这个被数据和图像淹没的世界&#xff0c;计算机视觉&#xff08;CV&#xff09;正如一位聪明绝顶的魔术师&#xff0c;能够从无数的图像中提取出有意义的信息。对于那些初入这个领域的新人&#xff0c;学习计算机视觉既是一场冒险&#xff0c;也是一场盛宴。让我作为一位…

修复OpenSSH远程代码执行漏洞:版本升级到9.9p1

目录 前言1. 备份配置文件2. 下载 OpenSSH 最新版本3. 编译安装 OpenSSH4. 替换旧版 OpenSSH 并创建符号链接5. 重启 SSH 服务6. 验证安装结果结语参考文章 前言 OpenSSH 是一种广泛使用的远程登录协议&#xff0c;它确保了服务器和客户端之间的安全通信。然而&#xff0c;随着…

详解调用钉钉AI助理消息API发送钉钉消息卡片给指定单聊用户

文章目录 前言准备工作1、在钉钉开发者后台创建一个钉钉企业内部应用&#xff1b;2、创建并保存好应用的appKey和appSecret&#xff0c;后面用于获取调用API的请求token&#xff1b;3、了解AI助理主动发送消息API&#xff1a;4、应用中配置好所需权限&#xff1a;4.1、权限点4.…

期权卖方如何提高期权策略的胜率——选择卖出虚值期权更稳健

期权卖方如何提高盈利的胜率&#xff1f; 影响期权卖方最重要的因素是权利金&#xff08;期权报价&#xff09;​。权利金越贵&#xff0c;期权卖方的盈亏平衡点越大&#xff0c;就容易盈利。 影响权利金的因素 行权价&#xff08;虚值期权权利金便宜&#xff0c;实值期权权利…

springboot的调度服务与异步服务实操

1.调度服务 1.1.JDK之ScheduledExecutorService 讲到调度任务&#xff0c;我们脑海里马上会想到ScheduledExecutorService。 ScheduledExecutorService是 Java java.util.concurrent 包中的一个接口&#xff0c;它继承自 ExecutorService 接口。它主要用于在给定的延迟后运行…

LeetCode[中等] 763. 划分字母区间

给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 思路 贪心…

使用默认不可变的Rust变量会踩什么坑

讲动人的故事&#xff0c;写懂人的代码 Rust的变量真的是名不副实。名字中明明有个“变”字&#xff0c;却默认不可变。还美其名曰“不可变变量”。要想让变量名副其实&#xff0c;还必须费心额外加个mut关键字&#xff0c;并必须称其为“可变变量”&#xff0c;才能与前者区分…