【史上最细教程】CentOS7 下载安装 RabbitMQ(两种方式:手动安装 / Docker安装)

文章目录

  • 【史上最细教程】CentOS7 下载安装 RabbitMQ
    • 方式一:手动安装
      • 1.下载安装Erlang、RabbitMQ
      • 2.防火墙、安全组端口放行
      • 3.启动RabbitMQ服务
      • 4.浏览器用户登录
      • 5.配置文件查看(可略)
    • 方式二:Docker安装
      • 1.安装Docker
      • 2.获取RabbitMQ镜像、创建容器
      • 3.浏览器访问
    • 扩展内容

【史上最细教程】CentOS7 下载安装 RabbitMQ

官网地址:https://www.rabbitmq.com/download.html

两种下载安装方式自选。

方式一:手动安装

1.下载安装Erlang、RabbitMQ

# 查看系统版本号(centos7)
root@songdanminserver:[/]lsb_release -a


# 下载

# 下载 Erlang rpm安装包
# Erlang是RabbitMQ语言环境,需要先安装好
# 通过下面<1.Erlang版本下载地址>,选择centos7对应的Erlang安装包下载(erlang-23.3.4.11-1.el7.x86_64)
# 用xftp上传到服务器(/usr/local/rabbitmq)

# 下载 RabbitMQ rpm安装包
# 通过下面<3.Erlang和RabbitMQ版本对照地址>,选择Erlang版本对应的RabbitMQ版本 (rabbitmq-server-3.9.16-1.el7.noarch)
# 用xftp上传到服务器(/usr/local/rabbitmq)



# 安装

# 查看安装包
root@songdanminserver:[/usr/local/rabbitmq]ls
erlang-23.3.4.11-1.el7.x86_64.rpm  rabbitmq-server-3.9.16-1.el7.noarch.rpm
# 安装Erlang
root@songdanminserver:[/usr/local/rabbitmq]sudo yum localinstall -y /usr/local/rabbitmq/erlang-23.3.4.11-1.el7.x86_64.rpm 
root@songdanminserver:[/usr/local/rabbitmq]erl -v  # q(). 退出
# 安装Socat  
root@songdanminserver:[/usr/local/rabbitmq]yum install -y socat
root@songdanminserver:[/usr/local/rabbitmq]socat -V   # Socat 是一种多功能的网络工具,可以创建各种类型的连接。
# 安装RabbitMQ
root@songdanminserver:[/usr/local/rabbitmq]sudo yum localinstall -y /usr/local/rabbitmq/rabbitmq-server-3.9.16-1.el7.noarch.rpm 
# 启用RabbitMQ可视化管理web客户端插件
# 说明:rabbitmq有一个默认账号和密码是:guest 默认情况只能在localhost本机下访问,所以需要添加一个远程登录的用户。
root@songdanminserver:[/usr/local/rabbitmq]rabbitmq-plugins enable rabbitmq_management

  1. Erlang版本下载地址:

    第一种:GitHub,慢:发布 ·rabbitmq/erlang-rpm (github.com)

    第二种:packagecloud 更快,不需要下载安装包,复制脚本执行就行:rabbitmq/erlang - Results for el/7 in rabbitmq/erlang (packagecloud.io)

  2. RabbitMQ版本下载地址:

    第一种:GitHub,慢:Tags · rabbitmq/rabbitmq-server (github.com)

    第二种:packagecloud 更快,不需要下载安装包,复制脚本执行就行:rabbitmq/rabbitmq-server - Results for ‘rabbitmq-server’ and el/7 in rabbitmq/rabbitmq-server (packagecloud.io)

  3. Erlang和RabbitMQ版本对照地址:https://www.rabbitmq.com/which-erlang.html

    我的版本选择:

    image-20240103163349009

2.防火墙、安全组端口放行

# 5672:RabbitMQ的通讯端口
# 25672:RabbitMQ的节点间的CLI通讯端口
# 15672:RabbitMQ HTTP_API的端口,管理员用户才能访问,用于管理RabbitMQ,需要启动Management插件。
# 1883,8883:MQTT插件启动时的端口。
# 61613、61614:STOMP客户端插件启用的时候的端口。
# 15674、15675:基于webscoket的STOMP端口和MOTT端口

# 防火墙放行端口
sudo firewall-cmd --add-port=5672/tcp
sudo firewall-cmd --add-port=25672/tcp
sudo firewall-cmd --add-port=15672/tcp
sudo firewall-cmd --add-port=1883/tcp
sudo firewall-cmd --add-port=8883/tcp
sudo firewall-cmd --add-port=61613/tcp
sudo firewall-cmd --add-port=61614/tcp
sudo firewall-cmd --add-port=15674/tcp
sudo firewall-cmd --add-port=15675/tcp
sudo firewall-cmd --add-port=5672/tcp --permanent
sudo firewall-cmd --add-port=25672/tcp --permanent
sudo firewall-cmd --add-port=15672/tcp --permanent
sudo firewall-cmd --add-port=1883/tcp --permanent
sudo firewall-cmd --add-port=8883/tcp --permanent
sudo firewall-cmd --add-port=61613/tcp --permanent
sudo firewall-cmd --add-port=61614/tcp --permanent
sudo firewall-cmd --add-port=15674/tcp --permanent
sudo firewall-cmd --add-port=15675/tcp --permanent
# 配置结束后需要输入重载命令并重启防火墙以生效配置
firewall-cmd --reload
systemctl restart firewalld
# 查看防火墙状态
systemctl status firewalld

# 阿里云配置安全组放行这些端口

image-20240104094012124

3.启动RabbitMQ服务

# 启动服务
systemctl start rabbitmq-server
# 查看服务状态
systemctl status rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server
# 开机启动服务
systemctl enable rabbitmq-server

4.浏览器用户登录

# 访问 你的服务器公网ip+端口15672      http://121.41.53.91:15672/
# 默认账号 guest/guest,RabbitMQ3.3以后,guest账号只能在本机登录,这里不修改配置了,需另建登录账号

# 用户级别:
# 1、administrator 可以登录控制台、查看所有信息、可以对rabbitmq进行管理
# 2、monitoring 监控者 登录控制台,查看所有信息
# 3、policymaker 策略制定者 登录控制台,指定策略
# 4、managment 普通管理员 登录控制台

# 创建用户名admin,密码admin
rabbitmqctl add_user admin admin
# 设置admin为超级管理员
rabbitmqctl set_user_tags admin administrator
# 授权远程访问(也可以登录后,可视化配置)
rabbitmqctl set_permissions -p / admin "." "." ".*"
# 创建完成后,重启RabbitMQ
systemctl restart rabbitmq-server

# 修改用户密码
rabbitmqctl change_password Username Newpassword 
# 删除用户
rabbitmqctl delete_user Username 
# 查看用户清单
rabbitmqctl list_users 

admin/admin用户重新登录 ,登录成功:

image-20240104094309322

5.配置文件查看(可略)

RabbitMQ默认情况下有一个配置文件,定义了RabbitMQ的相关配置信息,默认情况下能够满足日常的开发需求。如果需要修改需要,需要自己创建一个配置文件进行覆盖。
参考官网:
1:https://www.rabbitmq.com/documentation.html
2:https://www.rabbitmq.com/configure.html
3:https://www.rabbitmq.com/configure.html#config-items
4:https://github.com/rabbitmq/rabbitmq-server/blob/add-debug-messages-to-quorum_queue_SUITE/docs/rabbitmq.conf.example

image-20240104095431132

# rabbitmq配置文件
# 查看rabbitmq.config文件的存储路径 我默认是没有
find / -name rabbitmq.conf

参考:http://t.csdnimg.cn/5TVCv

方式二:Docker安装

Docker:虚拟化容器技术。

官网进去就是推荐Docker安装:https://registry.hub.docker.com/rabbitmq/

image-20240104111509059

1.安装Docker

# yum 包更新到最新
yum update
# 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum install docker-ce -y
# 安装后查看docker版本
docker -v
# 安装加速镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://0wrdwnn6.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker相关命令:

# 启动docker:
systemctl start docker
# 停止docker:
systemctl stop docker
# 重启docker:
systemctl restart docker
# 查看docker状态:
systemctl status docker
# 开机启动:  
systemctl enable docker
systemctl unenable docker
# 查看docker概要信息
docker info
# 查看docker帮助文档
docker --help

2.获取RabbitMQ镜像、创建容器

官网:
1:https://www.rabbitmq.com/download.html
2:https://registry.hub.docker.com/rabbitmq/

# 获取RabbitMQ镜像 
docker pull rabbitmq:management

# 创建并运行容器、启动RabbitMQ管理插件
# docker run -di --name=myrabbit -p 15672:15672 rabbitmq:management
# 运行该命令后,Docker 会下载 RabbitMQ 镜像(如果本地没有的话),然后创建并启动一个名为 myrabbit 的容器,该容器使用了指定的端口映射和环境变量配置。您可以通过访问 http://ip:15672 来访问 RabbitMQ 的管理界面,并使用 admin/admin 进行登录
docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
# 查看镜像
docker images
# 查看容器,获取到rabbitmq容器ID
docker ps -a
# 启动容器
docker start 容器ID
# 如果之前手动安装了,就需要关闭手动安装的RabbitMQ服务
# 查看服务状态
systemctl status rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server


# 查看日志
docker logs -f myrabbit

3.浏览器访问

使用 http://你的公网IP地址:15672 访问rabbit控制台


扩展内容

yum安装和rpm安装区别:

  1. 使用 yum localinstall 安装:
    • 通过 yum localinstall 命令安装的软件包将被 yum 包管理器管理。这意味着您可以使用 yum 命令来更新、卸载和查询 RabbitMQ 软件包的信息。
    • 通过 yum localinstall 安装的软件包通常会被安装到默认的系统软件包路径中,比如 /usr/lib/usr/local 目录下。
  2. 直接安装 .rpm 文件:
    • 直接安装 .rpm 文件意味着您绕过了 yum 包管理器,直接将软件包安装到指定的位置。
    • 您可以选择将软件包安装到任意位置,通常是 /usr/local 目录下或其他自定义目录。

因此,如果您通过 yum localinstall 安装 RabbitMQ,它将按照 yum 的默认安装路径进行安装。而如果您直接安装 .rpm 文件,您可以选择安装到不同的文件位置。

无论使用哪种方式安装,RabbitMQ 的配置文件、日志文件和其他相关文件的位置都是一样的,通常位于 /etc/rabbitmq 目录下。

一般来说,RPM 包会按照规范将文件安装到以下标准目录:

/usr/bin:可执行文件
/usr/lib:库文件
/etc:配置文件
/var:运行时数据、日志等
/usr/share/doc:文档

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

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

相关文章

synchronized锁

synchronized 类锁&#xff1a;给类的静态方法加上synchronized 关键字进行修饰&#xff0c; 锁的是当前类class&#xff0c;一个静态同步方法拿到锁&#xff0c;其他静态同步方法就会等待静态同步方法和普通同步方法间是没有竞争的 对象锁&#xff1a;给类的方法加上synchron…

权威外媒聚焦:Messari强调波场TRON在全球加密支付领域的引领作用

近日,金融时报、费加罗报及美联社等海外权威媒体就波场TRON 在全球加密支付领域的重要进展发布了相关报道。报道引述加密研究机构Messari 《Crypto Theses for 2024》年度报告,重点强调了波场TRON在推动全球加密货币支付尤其是稳定币USDT应用方面的显著成就。 报道提到,波场TR…

你的第一个C/S程序

目录 socket服务端代码客户端代码执行结果 socket socket基础知识 服务端代码 import socket import threading import timeMSG_LENGTH 64 DISCONNECTED !CONNECTION CLOSED connections 0#定义服务器地址 server_ip socket.gethostbyname(socket.gethostname()) server…

三城三奖!苏州金龙助力各地公共交通打造高品质线路

元旦前夕&#xff0c;由中国交通报社主办的绿色运输可持续发展座谈会暨2023年度“新能源公交高品质线路”经验交流会在京举行&#xff0c;来自全国各地的100余名行业管理部门、公交客运企业代表参会。会上同时评选出20条各具特色的“新能源公交高品质线路”及6家“我的公交我的…

后端主流框架-SpringMvc-day2

Java中的文件下载 2 文件下载 文件下载&#xff1a;就是将服务器&#xff08;表现在浏览器中&#xff09;中的资源下载&#xff08;复制&#xff09;到本地磁盘&#xff1b; 2.1 前台代码 前台使用超链接&#xff0c;超链接转到后台控制器&#xff0c;在控制器通过流的方式…

阿里云服务器(ECS云服务器)安装redis

前言&#xff1a; 笔者使用的是云服务器是阿里云的ECS服务器 这个服务器内核是Alibaba Cloud Linux 3。 使用的命令行工具为Alibaba Could Manager 命令行工具连接服务器这里就不多说了&#xff0c;如果没有用过的小伙伴可以去看阿里云的官方文档&#xff0c;很详细。 下面…

【51单片机系列】LCD1602液晶模块

本文是关于液晶显示屏的相关介绍。相对于静态数码管、动态数码管、LED点阵等&#xff0c;LCD1602液晶显示器能够显示更多的字符数字信息&#xff0c;并且也是常用的一种显示装置。 文章目录 一、LCD1602介绍1.1、LCD1602简介1.2、LCD1602常用指令1.3、LCD1602使用 二、LCD1602使…

[雷池WAF]长亭雷池WAF配置基于健康监测的负载均衡,实现故障自动切换上游服务器

为了进一步加强内网安全&#xff0c;在原有硬WAF的基础上&#xff0c;又在内网使用的社区版的雷池WAF&#xff0c;作为应用上层的软WAF。从而实现多WAF防护的架构。 经过进一步了解&#xff0c;发现雷池WAF的上游转发代理是基于Tengine的&#xff0c;所以萌生出了一个想法&…

SpringMVC-获取请求参数

1. 通过ServletAPI获取请求参数 /**** param request HttpServletRequest对象&#xff0c;直接作为形参传入方法&#xff0c;前端处理器就是一个Servlet* 所以前端处理器可以获得HttpServletRequest对象&#xff0c;并根据控制器方法的形参将对象传递给方法* re…

勒索事件急剧增长,亚信安全发布《勒索家族和勒索事件监控报告》

近期(12.15-12.21)态势快速感知 近期全球共发生了247起攻击和勒索事件&#xff0c;勒索事件数量急剧增长。 近期需要重点关注的除了仍然流行的勒索家族lockbit3以外&#xff0c;还有本周top1勒索组织toufan。toufan是一个新兴勒索组织&#xff0c;本周共发起了108起勒索攻击&a…

一文读懂$mash 通证的 “Fair Launch” 规则,将公平发挥极致

Solmash 是Solana生态中由社区主导的铭文资产LaunchPad平台&#xff0c;该平台旨在为Solana原生铭文项目&#xff0c;以及通过其合作伙伴SoBit跨链桥桥接到Solana的Bitcoin生态铭文项目提供更广泛的启动机会。有了Solmash&#xff0c;将会有更多的Solana生态的铭文项目、资产通…

【JUC的四大同步辅助类】

文章目录 一、CountDownLatch二、CyclicBarrier三、Semaphore四、Phaser 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、CountDownLatch CountDownLatch如同火箭发射&#xff0c;计数只能不断减减&#xff0c;当到达0时即发射 场景示例&#xff1…

elect函数可以设置等待时间,

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;贝叶斯滤波与Kalman估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能&#xff0c…

ssm基于BS的仓库在线管理系统的设计与实现论文

摘 要 如今的时代&#xff0c;是有史以来最好的时代&#xff0c;随着计算机的发展到现在的移动终端的发展&#xff0c;国内目前信息技术已经在世界上遥遥领先&#xff0c;让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法&#x…

OpenCV-Python(23):傅里叶变换

原理 傅里叶变换是一种数学变换&#xff0c;用于将一个函数&#xff08;在图像处理中通常是图像&#xff09;从时域&#xff08;空域&#xff09;转换到频域。它将函数表示为一系列正弦和余弦函数的和&#xff0c;用于分析信号的频率和相位信息。 傅里叶变换的原理是将一个连续…

【iOS安全】JS 调用Objective-C中WKWebview Handler的三种方式

有三种实现途径 1. WKScriptMessageHandler OC部分&#xff1a;注册并实现Handler 将OC中的方法"nativeMethod"注册为JavaScript Message Handler&#xff0c;从而WebView中的JavaScript代码可以调用该方法 // Register in Objective-C code - (void)setupWKWebVi…

No Magic—复杂机电产品系统架构开发套件

产品概述 CATIA Magic&#xff0c;原名MagicDraw&#xff0c;俗称No Magic&#xff0c;被达索收购后融入3DExperience产品协同研发管理平台中&#xff0c;形成更具协同体验的系统工程解决方案。该软件提供对SysML/UML/UAF语言的完整支持&#xff0c;提供独有的MagicGrid方法论&…

5分钟了解接口测试

接口测试是指对系统接口进行测试的一种质量保障手段&#xff0c;主要是验证接口的功能、性能、安全性等方面是否符合预期。 在接口测试中&#xff0c;可以测试以下内容&#xff1a; 功能测试&#xff1a;验证接口的输入和输出是否符合预期&#xff0c;包括参数的正确性、返回结…

【无标题】idea的lombok插件支持@SuperBuilder注解啦

在我的博客阅读本文 1. 前言 今早进公司打开idea&#xff0c;弹出更新提示&#xff0c;简单看了下&#xff0c;原来是idea的lombok插件更新了&#xff0c;惊喜的发现update log上写着Add support for SuperBuilder。 为什么说是惊喜呢&#xff1f;因为之前也有用到这个的场景…

Go后端开发 -- Go Modules

Go后端开发 – Go Modules 文章目录 Go后端开发 -- Go Modules一、什么是Go Modules?二、GOPATH的工作模式1.GOPATH模式2.GOPATH模式的弊端 三、Go Modules模式创建项目1.go mod命令2.go mod环境变量3.使用Go Modules初始化项目4.修改模块的版本依赖关系 四、Go Modules下impo…