程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 中间件 - RabbitMQ

    • 消息队列 - 介绍
    • RabbitMQ - 介绍
    • RabbitMQ - 安装
      • 1. 环境
      • 2. 下载
        • 2.1 下载RabbitMQ
        • 2.2 下载Erlang
      • 3. 安装
        • 3.1传输
        • 3.2 安装Erlang
        • 3.3 安装RabbitMQ
        • 3.4 启动
      • 4. 管理界面及授权操作
      • 5. Docker安装RabbitMQ
    • RabbitMQ - 基础案例
    • RabbitMQ - 应答与发布
    • RabbitMQ - 交换机
    • RabbitMQ - 死信队列
    • RabbitMQ - 延迟队列
    • RabbitMQ - 高级发布确认
    • RabbitMQ - 优先级
    • SpringBoot整合RabbitMQ
  • 消息数据库
  • 中间件 - RabbitMQ
scholar
2023-11-08
目录

RabbitMQ - 安装

  • 1. 环境
  • 2. 下载
    • 2.1 下载RabbitMQ
    • 2.2 下载Erlang
  • 3. 安装
    • 3.1传输
    • 3.2 安装Erlang
    • 3.3 安装RabbitMQ
    • 3.4 启动
  • 4. 管理界面及授权操作
  • 5. Docker安装RabbitMQ

# 1. 环境

Linux 的 CentOS 7.x 版本。

Xftp 传输安装包到 Linux。

Xshell 连接 Linux,进行解压安装。

# 2. 下载

首先我们需要2个 rpm 安装包,分别是 RabbitMQ 安装包和 Erlang 环境安装包,后者提供环境给前者运行。

# 2.1 下载RabbitMQ

RabbitMQ最新版下载地址 (opens new window)

选择以 noarch.rpm 结尾的安装包

image-20211108231724901

# 2.2 下载Erlang

RabbitMQ 是采用 Erlang 语言开发的,所以系统环境必须提供 Erlang 环境,需要先安装 Erlang。

Erlang 和 RabbitMQ 版本对照:点击跳转 (opens new window)

image-20211108231929107

这里安装的是 3.9.8 版本的 RabbitMQ,因为官方没有及时更新版本比较图,猜测需要的 Erlang 版本依然是24.x,但是目前 Erlang 版本最高是 23.3,所以直接下载最新版本的 Erlang。

Erlang 23.3下载地址 (opens new window)

image-20211108232316667

点击右上角的 Download 即可下载到本地。

版本选择

CentOs 7.x 版本需要e17,CentOs 8.x 版本需要e18。包括 Red Hat 8,modern Fedora 版本。

最终下载的两个安装包,如图:

image-20211108233036290

# 3. 安装

# 3.1传输

将在 Windows 或 Mac 下载好的安装包传输到 Linux 中。

首先在 Linux 的 /usr/local 目录下创建一个文件夹 rabbitmq。请根据需求自定义路径

mkdir /usr/local/rabbitmq
1

利用 xftp 工具将两个 .rpm 文件传输到刚刚创建的文件夹里

image-20211108233830378

# 3.2 安装Erlang

进入 /usr/local/rabbitmq 目录,解压安装 Erlang

cd /usr/local/rabbitmq
rpm -ivh erlang-23.3.4.8-1.el7.x86_64.rpm
1
2

image-20211108234543727

安装完成后输入指令查看到版本号,代表成功

erl -v
1

image-20211108234635518

问题记录

如果安装 Erlang 过程出现了如下问题:

image-20211110164335789

出现这个错误的主要原因是没有libcrypto.so.10(OPENSSL_1.0.2)(64bit)依赖,我们去下载一个就可以了

下载地址:libcrypto.so.10(OPENSSL_1.0.2)(64bit) (opens new window)

滑到最下面,下载最后一个

image-20211110164440458

下载到本地后通过 Xftp 上传到 Linux 中,传输目录一致。接着使用命令安装

rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force
1

安装好这个后,再次安装 Erlang 即可成功

image-20211110164704354

# 3.3 安装RabbitMQ

在 RabiitMQ 安装过程中需要依赖 socat 插件,首先安装该插件

yum install socat -y
1

解压 RabbitMQ 安装包

rpm -ivh rabbitmq-server-3.9.8-1.el7.noarch.rpm
1

image-20211108234803774

i 代表 install

vh 代表显示安装进度过程

# 3.4 启动

# 启动服务
systemctl start rabbitmq-server
# 查看服务状态
systemctl status rabbitmq-server
1
2
3
4

启动 RabbitMQ 服务后,查看该服务状态,显示绿色的 active 则表示服务安装并启动成功

image-20211108235041361

其他指令:

# 开机自启动
systemctl enable rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server
# 重启服务
systemctl restart rabbitmq-server
1
2
3
4
5
6

# 4. 管理界面及授权操作

默认端口

RabbitMQ 的默认访问端口是 15672,如果 Linux 有防火墙,记得开放 15672 端口,否则 Windows 无法访问

默认情况下,RabbiMQ 没有安装 Web 端的客户端软件,需要安装才可以生效

rabbitmq-plugins enable rabbitmq_management
1

安装完毕以后,重启服务

systemctl restart rabbitmq-server
1

通过 http://ip:15672 访问,ip 为 Linux 的 ip。rabbitmq 有一个默认的账号密码 guest,但是登录该账号密码会出现权限问题

image-20211109000142149

默认的账号密码仅限于本机 localhost 进行访问,所以需要添加一个远程登录的用户

    # 创建账号和密码
    rabbitmqctl add_user 用户名 密码
    
    # 设置用户角色
    rabbitmqctl set_user_tags 用户名 角色
    
    # 为用户添加资源权限,添加配置、写、读权限
    # set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
    rabbitmqctl set_permissions -p "/" y ".*" ".*" ".*"
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 创建账号和密码
    rabbitmqctl add_user admin 123456
    
    # administrator 拥有所有权限
    rabbitmqctl set_user_tags admin administrator
    
    # 为用户添加资源权限,添加配置、写、读权限
    rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
    
    1
    2
    3
    4
    5
    6
    7
    8
    // Make sure to add code blocks to your code group

    角色固定有四种级别:

    • administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
    • monToring:监控者;登录控制台,查看所有信息
    • policymaker:策略制定者;登录控制台指定策略
    • managment:普通管理员;登录控制

    添加用户和权限后,再次访问 http://ip:15672 登录,输入添加好的用户名和密码,即可进入后台

    其他指令:

    # 修改密码
    rabbitmqctl change_ password 用户名 新密码
    
    # 删除用户
    rabbitmqctl delete_user 用户名
    
    # 查看用户清单
    rabbitmqctl list_users
    
    1
    2
    3
    4
    5
    6
    7
    8

    # 5. Docker安装RabbitMQ

    # 安装启动 rabbitmq 容器
    docker run -d --name myRabbitMQ \
    -e RABBITMQ_DEFAULT_USER=自定义用户名 \
    -e RABBITMQ_DEFAULT_PASS=自定义密码 \
    -p 15672:15672 \
    -p 5672:5672 \
    rabbitmq:3.8.14-management
    
    1
    2
    3
    4
    5
    6
    7

    参数解释:

    • -d:以后台模式运行容器。
    • --name myRabbitMQ:为容器指定一个名称myRabbitMQ,便于后续管理操作(如停止、启动容器)。
    • -e RABBITMQ_DEFAULT_USER=自定义用户名 和 -e RABBITMQ_DEFAULT_PASS=自定义密码:设置RabbitMQ的默认登录用户名和密码。这两个环境变量让你能够为RabbitMQ管理界面和API创建自定义的登录凭证。
    • -p 15672:15672:将容器内的15672端口映射到宿主机的15672端口上。RabbitMQ的管理界面默认运行在15672端口,此映射允许你通过宿主机的地址访问管理界面。
    • -p 5672:5672:将容器内的5672端口映射到宿主机的5672端口上。5672是RabbitMQ的默认AMQP协议端口,用于RabbitMQ客户端连接。
    • rabbitmq:3.8.14-management:指定使用rabbitmq:3.8.14-management这个带有管理插件的RabbitMQ镜像。
    编辑此页 (opens new window)
    上次更新: 2024/12/28, 18:32:08
    RabbitMQ - 介绍
    RabbitMQ - 基础案例

    ← RabbitMQ - 介绍 RabbitMQ - 基础案例→

    Theme by Vdoing | Copyright © 2019-2025 程序员scholar
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式