RabbitMQ安装教程(超详细)

news2024/11/14 17:46:53

本教程是在centos8下试验的,其实linux系统的都差不多

RabbitMQ官方:Messaging that just works — RabbitMQ

RabbitMQ是开源AMQP实现,服务器端用Erlang语言编写,Python、Ruby、 NET、Java、JMS、c、PHP、action screcrive AMQP (高级消息队列协议)和高级消息队列协议是APP应用层协议的开放标准,是为面向消息的中间件而设计的。

消息中间件主要用于组件之间的解耦,其中消息的发送方不需要知道消息使用者的存在,反之亦然。 AMQP的主要特点是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性和安全性。

一、安装Erlang

1、RabbitMQ是用Erlang语言编写的,所以在安装RabbitMQ之前需要安装Erlang

2、在构建RabbitMQ环境的过程中,RabbitMQ和Erlang的版本要对应关系,官网上可以查看RabbitMQ和Erlang的版本问题:RabbitMQ Erlang Version Requirements — RabbitMQ

3、安装前,先设置Eralng的存储库

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

当出现 The repository is setup! You can now install packages即成功,存储库已设置,可以安装软件包了

4、执行安装Erlang

yum install erlang

5、安装Eralng完后,输入erl -v 查看版本是否安装成功 ,返回如下:

[root@cnetos8 ~]# erl -v
Erlang/OTP 25 [erts-13.1.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Eshell V13.1.1  (abort with ^G)
1> 

二、安装RabbitMQ

1、设置存储库 (在库中提供脚本安装)

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

出现 The repository is setup! You can now install packages即成功

三、RabbitMQ 和 Erlang 添加yum 存储库

1、为了使用 Yum 存储库,必须在 /etc/yum.repos.d/ 目录下添加一个 .repo 文件(例如 rabbitmq.repo)。文件的内容在发行版之间会略有不同(例如 CentOS Stream 9、CentOS Stream 8 或 OpenSUSE)。

# In /etc/yum.repos.d/rabbitmq.repo

##
## Zero dependency Erlang
##

[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

##
## RabbitMQ server
##

[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

2、更新软件包数据

# yum update -y
yum -q makecache -y --disablerepo='*' --enablerepo='rabbitmq_erlang' --enablerepo='rabbitmq_server'

3、安装logrotate 依赖

yum install socat logrotate -y

4、最后安装 Eralng 和 RabbitMQ

yum install --repo rabbitmq_erlang --repo rabbitmq_server erlang rabbitmq-server -y

四、开启Rabbitmq-server 服务

1、开启Rabbitmq-server 服务

systemctl start rabbitmq-server

2、开启Rabbitmq-server 服务

systemctl start rabbitmq-server

 3、查看MQ进程

ps -ef | grep rabbitmq

4、查看mq占用的端口

lsof -i | grep rabbit
# 或者
netstat -tunlp | grep rabbitmq

五、网页管理控制台

1、启动应用

rabbitmq-plugins enable rabbitmq_management

默认账号 : guest,默认密码:guest

输入 https:{ip}:15672 访问(15672 是访问网页控制台)

当不能访问的时候,查看下防火墙是否开启、是否开放端口

 2、当登录的时候出现 User can only log in via localhost ,在服务端上,需要添加一个admin账号

 

#第一步:添加 admin 用户并设置密码
rabbitmqctl add_user admin 123456
#第二步:添加 admin 用户为administrator角色
rabbitmqctl set_user_tags admin  administrator
#第三步:设置 admin 用户的权限,指定允许访问的vhost以及write/read
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#第四步:查看vhost(/)允许哪些用户访问
rabbitmqctl list_permissions -p /
#第五步:查看用户列表
rabbitmqctl list_users

 就可以远程访问网页控制台了

 六、使用composer安装php-amqpblib扩展

以php语言为例子

1、使用composer安装php-amqpblib扩展

composer require php-amqplib/php-amqplib=^3.0

2、在composer.json文件中添加

"php-amqplib/php-amqplib": "^3.0"

到此,安装完成!

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

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

相关文章

python 爬虫入门该怎么学习?

前言 1、什么是爬虫和爬虫的基本逻辑 “爬虫”是一种形象的说法。互联网比喻成一张大网,爬虫是一个程序或脚本在这种大网上爬走。碰到虫子(资源),若是所需的资源就获取或下载下来。这个资源通常是网页、文件等等。可以通过该资源…

Android NDK 开发之 CMake 必知必会

Android Studio 从 2.2 版本起开始支持 CMake ,可以通过 CMake 和 NDK 将 C/C 代码编译成底层的库,然后再配合 Gradle 的编译将库打包到 APK 中。 这意味就不需要再编写 .mk 文件来编译 so 动态库了。 CMake 是一个跨平台构建系统,在 Android Studio 引…

12月7日 补充数据库链式操作,只生成sql语句,不执行sql的几种函数以及thinkphp中验证器

补充知识: 生成sql语句但是不会执行sql语句 public function fetchSqlTest(){$result Db::name(user)->fetchSql(true)->select();//dump($result);//使用正常select查询默认中select(true)改为false即可返回sql语句$result Db::name(user)->…

UNIX/LINUX操作系统内核结构

通用操作系统的现状和分类 UNIX操作系统的根本特点:分时多用户、开放性 基本功能特征 系统结构 操作系统核心 系统调用的集合及实现系统调用的内部算法就形成操作系统核心 系统调用 以函数形式提供给核外的命令和上层应用系统使用的一组程序,涵…

观察者模式

目录 一、观察者模式解决了哪些问题: 二、体检的小栗子 三、什么是观察者模式 四、代码实现 一、观察者模式解决了哪些问题: 对象之间的一对多依赖关系应该在不使对象紧密耦合的情况下定义。应该确保当一个对象改变状态时,自动更新无限数…

5-5:显示系统的通知

通知列表 显示评论、点赞、关注三种类型的通知。 通知详情 分页显示某一类主题所包含的通知。 未读消息 在页面头部显示所有的未读消息数量 通知存在message表里面 修改MessageMapper.java package com.nowcoder.community.dao;import com.nowcoder.community.entity.Messa…

毕业2年,跳槽到我们公司拿18K,这就是00后卷王带来的压迫感吗?

内卷,是现在热度非常高的一个词汇,随着热度不断攀升,隐隐到了“万物皆可卷”的程度。 在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不…

AI 也会写代码了,但我并不担心

如果你比较关注人工智能,可能会注意到最近圈子的人都在刷屏一个 AI 玩意,叫 ChatGPT 。我一直关注的和菜头在他的公众号槽边往事上就接连写了几篇文章。为什么和菜头是男的,读者却要叫他“婶婶”怎么把AI逼到生气水文与干货如果看完上面的第一…

一行代码 网页变灰

背景 想必大家都感受到了,很多网站、APP 在昨天都变灰了。 先来感受一下变灰后的效果。 让网页变为黑白配色,是个常见的诉求。而且往往是突如其来的诉求,是无法预知的。 当发生这样的需求时,我们需要迅速完成变更发布。 这种…

机器学习 决策树 随机森林

文章目录参考决策树指标基尼系数基础公式公式理解引入划分后的公式划分后公式的理解信息熵、信息增益如何理解信息熵两种指标的对比总结参考 b站视频 【决策树、随机森林】附源码!!超级简单,同济大佬手把手带你学决策树决策树模型及案例&…

收藏 外贸企业必备的跨境电商B2B出口报关完整指南

跨境企业想要将货物出口到国外,报关是重要步骤之一,它是货物合法进出国境的通行证。许多初入跨境电商行业的B2B企业在报关上由于无人指引走了许多弯路,浪费了时间。 一.跨境出口模式 根据海关总署规定,跨境电商出口的监管模式分为…

QDataStream(数据流)

QDataStream类实现将QIODevice的二进制数据串行化。一个数据流就是一个二进制编码信息流,独立于主机的操作系统,CPU或字节顺序。QDataStream可以实现c的基本数据类型的串行化。 构造函数: 常用函数 : atEnd()是否到达结束位置re…

基于jsp+ssm的旅游活动报名系统-计算机毕业设计

项目介绍 本系统主要采JSP语言进行编写,本系统数据库采用数据处理功能强大的MySQL来建立 管理员可以通过结伴休闲平台进行旅行社管理、个人活动管理、旅行社活动管理、客户管理、用户管理等。个人用户则可通过结伴休闲平台对进行发布活动、结伴活动等。旅行社用户…

STC15 - ExternalRAM_enable()/InternalRAM_enable()

文章目录STC15 - ExternalRAM_enable()/InternalRAM_enable()概述实验环境MCU的规格区别IAP15F2K61S2的使用限制实验的组合公用测试代码1. 没有焊接外部RAM ExternalRAM_enable()2. 没有焊接外部RAM InternalRAM_enable()3. 焊接外部RAM ExternalRAM_enable()4. 焊接外部RAM…

世界杯狂欢季,家居品牌仅靠4位UP增长2000wB站声量

时隔四年,2022年卡塔尔世界杯于11月21日正式开始,直至目前比赛进度已过半程,这场世界赛事备受各国瞩目,全网有关于“足球”的运动信息接踵而至。 飞瓜数据(B站版)显示,B站平台带有“世界杯”标…

React源码之概念篇

React主要的三部分 这是从ReactDom.render后触发的步骤 调度协调渲染 设计理念 首先在React中需要在浏览器刷新一次就需要执行如下的步骤: JS脚本执行->样式布局->样式绘制,如果js执行时间超过了16.6ms,那么就没有时间留给样式布局…

[附源码]计算机毕业设计良辰之境影视评鉴系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【viper】go 配置管理神器viper使用详解

目录一、viper简介二、基本使用1.viper基本配置2.读取配置3.自定义配置源4.注册别名4.获取环境变量5.获取命令行参数6.多实例使用7.监听配置变化三、读取远程配置四、保存配置一、viper简介 viper是一个应用程序解决方案,它支持在应用程序内使用,特性如…

基于元胞自动机的人员疏散模拟器研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

[前端面试题]:数组去重的几种方法

总结一些日常需要用到的一些api,也是在一些面试中会经常出现的题目,今天分享的是数组去重的几个不同的方法, 同时文章也被收录到我的《JS基础》专栏中,欢迎大家点击收藏加关注。 给大家推荐一个实用面试题库 1、前端面试题库 &am…