Linux安装RabbitMQ安装

news2024/11/17 17:49:42

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.coloradmin.cn/o/2184547.html

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

相关文章

7--苍穹外卖-SpringBoot项目中套餐管理 详解(一)

前言 目录 新增套餐 需求分析和设计 代码开发 根据分类id查询菜品 Controller层 Service层 ServiceImpl层 Mapper层 DishMapper.xml 新增套餐 实体类 mapper层 Service层 ServiceImpl层 Mapper层 SetmealMapper.xml setmealDishMapper.xml 套餐分页查询 需求分…

网络协议详解--IPv6

IPv6产生背景 (1)地址空间的耗尽:因特网呈指数级发展,导致IPv4地址空间几乎耗尽。虽然采用了子网划分、CIDR和NAT地址转换技术,但这没有从根源解决地址耗尽的问题 (2)IP层安全需求的增长&#x…

【拥抱AIGC】通义灵码策略配置

通义灵码企业级策配置支持智能问答、行间代码生成安全过滤器相关策略配置。 适用版本 企业标准版、企业专属版 通义灵码管理员、组织内全局管理员(专属版)在通义灵码控制台的策略配置中进行安全过滤器的配置,开启后,企业内开发…

第十一届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)(大学组第二套)

一.题目分析 (1).题目 (2).题目分析 1..按键功能分析 a. B1界面切换 b. B2每次按下,PA6手动模式占空比参数增加10% c. B3每次按下,PA7手动模式占空比参数增加10% d. B4模式切换 f. 在数据显示界面下…

JAVA姓氏头像情侣头像家庭头像签名头像谐音顽埂头像设计小程序头像大全系统小程序源码

姓氏头像到谐音梗,打造你的专属头像大全系统 🎨✨ 👨‍👩‍👧‍👦 家庭头像:记录温馨瞬间 在这个充满爱的时代,用一张家庭头像来记录你和家人的美好瞬间吧!我们的“姓氏…

Linux 进程状态、僵尸进程与孤儿进程

目录 0.前言 1. 进程状态 1.1 定义 1.2 常见进程 2.僵尸进程 2.1 定义 2.2 示例 2.3 僵尸进程的危害与防止方法 3. 孤儿进程 3.1 介绍 3.2 示例 4.小结 (图像由AI生成) 0.前言 在上一篇文章中,我们介绍了进程的基本概念、进程控制块&#…

Python Flask 和 Django 的区别与适用场景

Flask 和 Django 的异同(结合代码解释) Flask 和 Django 是两个流行的 Python Web 框架。尽管它们都是用于构建 Web 应用程序的强大工具,但它们的设计哲学、功能和用法有很大的区别。通过代码示例,可以更直观地理解 Flask 和 Dja…

基础岛第1关:书生大模型全链路开源体系

了解书生浦语大模型体系:书生浦语 InternLM2.5 系列模型: 卓越的推理性能:在数学推理方面取得了同量级模型最优精度,超越了 Llama3 和 Gemma2-9B。有效支持百万字超长上下文:模型在 1 百万字长输入中几乎完美地实现长…

一文讲透大语言模型构建流程

最近已有不少大厂都在秋招宣讲了,也有一些在 Offer 发放阶段。 节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了…

用友U8-CRM fillbacksettingedit.php SQL注入复现

0x01 产品描述: 用友U8-CRM是企业利用信息技术,是一项商业策略,它通过依据市场细分组织企业资源、培养以客户为中心的经营行为、执行以客户为中心的业务流程等手段来优化企业的客户满意度和获利能力。 0x02 漏洞描述: 用友 U8 C…

VMware Aria Operations for Logs 8.18 发布,新增功能概览

VMware Aria Operations for Logs 8.18 - 集中式日志管理 请访问原文链接:https://sysin.org/blog/vmware-aria-operations-for-logs/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 集中式日志管理 VMware Aria …

web开发(1)-基础

这是对b站课程的总结,后续可能会继续更 01 前后端分离介绍_哔哩哔哩_bilibili01 前后端分离介绍是Web应用开发-后端基础-基于Springboot框架的第1集视频,该合集共计29集,视频收藏或关注UP主,及时了解更多相关视频内容。https://w…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-01

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-01 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-01目录1. Beyond Text-to-Text: An Overview of Multimodal and Generative Artificial Intelligence for Education Using Topi…

第二弹:面向对象编程中的类与对象

文章目录 面向对象编程中的类与对象1. 类与对象的定义1.1 类和对象的概念1.2 类的基本定义 2. 类的封装2.1 类的封装语法2.2 类成员访问权限2.3 struct和class的区别2.4 类封装与成员函数定义分离 3. 类对象的创建与销毁3.1 静态与动态对象的创建3.2 对象的销毁 4. 构造函数和析…

云服务器部署k8s需要什么配置?

云服务器部署k8s需要什么配置?云服务器部署K8s需要至少2核CPU、4GB内存、50GBSSD存储的主节点用于管理集群,工作节点建议至少2核CPU、2GB内存、20GBSSD。还需安装Docker,选择兼容的Kubernetes版本,配置网络插件,以及确…

大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

【日常记录】现在遇到的Y7000P亮度无法调节问题,无需改动注册表进行调整的方法。

1、winR 2、输入:services.msc 3、找到下面红框内的服务 4、右键后,点击重启任务,重启任务后,再次按热键即可恢复亮度调节。

XGBOOST算法Python实现(保姆级)

摘要 XGBoost算法(eXtreme Gradient Boosting)在目前的Kaggle、数学建模和大数据应用等竞赛中非常流行。本文将会从XGBOOST算法原理、Python实现、敏感性分析和实际应用进行详细说明。 目录 0 绪论 一、材料准备 二、算法原理 三、算法Python实现 3…

西电25考研 VS 24考研专业课大纲变动汇总

01专业课变动 西安电子科技大学专业课学长看到953网络安全基础综合变为 893网络安全基础综合,这是因为工科要求都必须是8开头的专业课,里面参考课本还是没变的,无非就是变了一个名字 对于其他变动专业课也是同理的 02专业课考纲内容变化 对于…

<<迷雾>> 第5章 从逻辑学到逻辑电路(6)--莎士比亚电路 示例电路

info::操作说明 鼠标单击开关切换开合状态 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyjsjdmw-ch05-17-shakespeare-circuit.txt 原图