当前位置: 首页 > news >正文

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.最后

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

相关文章:

  • Ubuntu如何如何安装tcpdump
  • 微信小程序操作蓝牙
  • vue3 环境配置vue-i8n国际化
  • 当人工智能拥抱餐饮业,传统与创新的交融
  • 每天五分钟深度学习pytorch:基于pytorch搭建一元线性回归模型
  • 【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
  • 【AIGC】ChatGPT提示词解析:如何打造个人IP、CSDN爆款技术文案与高效教案设计
  • 【web安全】——sql注入
  • 查缺补漏----该不该考虑不可屏蔽中断
  • TypeScript 算法手册【选择排序】
  • 基于yolov8深度学习的120种犬类检测与识别系统python源码+onnx模型+评估指标曲线+精美GUI界面目标检测狗类检测犬类识别系统
  • 英语音标与重弱读
  • Java后端分布式系统的服务健康检查:Spring Boot Health
  • 低代码时代的企业信息化:规范与标准化的重要性
  • 无人机视角垃圾检测数据集,26700余张无人机图像,超过4万标注信息,共3.6GB数据量,可用于环卫快速检查,垃圾快速定位等应用。
  • 07.Android之多媒体问题
  • CSS中外联样式表代表的含义
  • ES6--对象的扩展
  • Java基本数据类型之Number
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • spring学习第二天
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • ubuntu 下nginx安装 并支持https协议
  • uni-app项目数字滚动
  • 笨办法学C 练习34:动态数组
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 通过git安装npm私有模块
  • 我的面试准备过程--容器(更新中)
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • Prometheus VS InfluxDB
  • 从如何停掉 Promise 链说起
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • # 透过事物看本质的能力怎么培养?
  • ## 基础知识
  • ()、[]、{}、(())、[[]]命令替换
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二)springcloud实战之config配置中心
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (十七)、Mac 安装k8s
  • (转)大型网站的系统架构
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @Conditional注解详解
  • @JoinTable会自动删除关联表的数据
  • @JSONField或@JsonProperty注解使用
  • @Pointcut 使用