2. RabbitMQ 的详细安装步骤(两种方式,第一种:yum 安装;第二种:docker 容器安装)

@


1. 第一种方式:yum 安装 RabbitMQ 的详细步骤:

  1. RabbitMQ 下载的官方地址: Erlang Version Requirements | RabbitMQ

注意:因为我们的 RabbitMQ 是用 Erlang 编程语言编写的,所以需要先安装对于版本的Erlang 才能使用 RabbitMQ。就相当于是我们之前学习 Tomcat 的是一样的(Tomcat 是用 Java编写的,所以使用Tomcat 需要先安装Java才可以运行)Erlang Version Requirements | RabbitMQ

我这里安装的是:rabbitmq-server-3.8.8-1 对应的 Erlang 版本是 erlang-21.3-1 注意:RabbitMQ 的版本一定要对应上支持的 Erlang 版本,不然是无法运行 RabbitMQ 消息队列的。

  1. 将 rabbitMQ 文件和 Erlang 文件上传到对应/usr/local/software目录下(如果没有 software 需要自己创建)

[root@RainbowSea software]# mkdir software

  1. 安装文件(分别按照以下顺序安装)

  2. rpm -ivh erlang-21.3-1.el7.x86_64.rpm

  3. yum install socat -y

  4. rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

rpm -ivh erlang-21.3-1.el7.x86_64.rpm
yum install socat -y
rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

如果按照执行:yum install socat -y 提示:Cannot find a valid baseurl for repo: base/7/x86_64 错误:可以参考该方案处理:Linux: Centos7 Cannot find a valid baseurl for repo: base/7/x86_64 解决方案_centos 7 安装cannot find a valid baseurl for repo-CSDN博客

  1. 常用命令(按照以下顺序执行),启动 RabbitMQ 消息队列
  1. 添加开机启动 RabbitMQ 服务
chkconfig rabbitmq-server on

  1. 启动RabbitMQ服务
/sbin/service rabbitmq-server start

如果启动的时候提示 报错 Job for rabbitmq-server.service failed because the control process exited with erro 可以执行如下方法解决:

1. 建立配置文件
//跳转目录
cd /etc/rabbitmq/
//建立文件
vim rabbitmq-env.conf
2. 添加内容
NODENAME=rabbit@localhost
# 3. 再执行
systemctl start rabbitmq-server
/sbin/service rabbitmq-server start

  1. 查看RabbitMQ服务状态
/sbin/service rabbitmq-server status

  • 停止RabbitMQ服务(选择执行)
/sbin/service rabbitmq-server stop

1.1 安装 RabbitMQ web 管理插件

Rabbitmq有一个web管理后台,这个管理后台是以插件的方式提供的,启动后台web管理功能。

安装 RabbitMQ web 管理插件后,就可以通过访问浏览器的方式,管理查看 RabbitMQ 消息队列了。

rabbitmq-plugins enable rabbitmq_management

# 查看rabbitmq 的插件列表,如下命令是在:切换到sbin目录下执行才行。
./rabbitmq-plugins list
#启用
./rabbitmq-plugins enable rabbitmq_management
#禁用
./rabbitmq-plugins disable rabbitmq_management

查看插件列表:

rabbitmq-plugins list

补充:

用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

这些操作都是通过rabbitmqctl管理命令来实现完成。

查看帮助:

rabbitmqctl add_user --help

相应的命令

(1) 查看当前用户列表

rabbitmqctl list_users

用默认账号密码(guest)密码也是 guest 访问地址 http://你虚拟机的ifconfig 查询的地址:15672/(这里我的是: http://192.168.76.156:15672/)出现权限问题。

**RabbitMQ 的默认端口号是: 15672 **

特别说明:这里我们需要关闭:Linux 的防火墙或者是打开 15672端口,让其可以被主机访问。如果是在云服务上的 需要额外在云服务器上将 15672 端口开放出来。

systemctl status firewalld --检查防火墙状态
systemctl stop firewalld --关闭防火墙,Linux重启之后会失效
systemctl disable firewalld --防火墙置为不可用,Linux重启后,防火墙服务不自动启动,依然是不可用

备注:如果使用默认用户guest、密码guest登录,会提示User can only log in via localhost

说明guest用户只能从localhost本机登录,所以不要使用该用户。

我们在 RabbitMQ 当中创建一个新的用户,使用该用户进行一个登录到 RabbitMQ 消息队列当中去。

1.2 在 RabbitMQ 当中创建一个新的用户,用于登录

  1. 添加一个新的用户,创建账号 创建一个名为 admin 的用户,密码为 123
(2) 新增一个用户
语法:rabbitmqctl add_user Username Password
示例: rabbitmqctl add_user admin 123
rabbitmqctl add_user admin 123 # 创建一个名为 admin 的用户,密码为 123

  1. 设置用户角色(为 admin 用户设置角色(administrator) 角色)
设置用户角色
rabbitmqctl set_user_tags User Tag
示例:rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_user_tags admin administrator

  1. 设置用户权限(为 admin 用户添加上权限(这里我们添加上所有的权限,最高权限)说明:此处设置用户的角色为管理员角色)
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
用户 user_admin 具有/vhost1 这个 virtual host 中所有资源的配置、写、读权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

用户 user_admin 具有/vhost1 这个 virtual host 中所有资源的配置、写、读权限 当前用户和角色

rabbitmqctl list_users

  1. 查看所有用户的权限:
查看用户权限
rabbitmqctl list_permissions

  1. 使用 admin 用户登录(账号: admin,密码: 123) 访问:http://192.168.76.156:15672/

补充:

重置命令

关闭应用的命令为 rabbitmqctl stop_app
清除的命令为 rabbitmqctl reset
重新启动命令为 rabbitmqctl start_app

2. 第二种:Docker 容器安装 RabbitMQ 的详细步骤:

如果还不太了解 Docker 容器的,大家可以移步至:️️️ Docker_ChinaRainbowSea的博客-CSDN博客

  1. docker 容器的镜像拉取 RabbitMQ ,同时配置对应端口映射,已经配置文件映射。
# 拉取镜像
docker pull rabbitmq:3.13-management # -d 参数:后台运行 Docker 容器
# --name 参数:设置容器名称
# -p 参数:映射端口号,格式是“宿主机端口号:容器内端口号”。5672供客户端程序访问,15672供后台管理界面访问
# -v 参数:卷映射目录
# -e 参数:设置容器内的环境变量,这里我们设置了登录RabbitMQ管理后台的默认用户和密码
docker run -d \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-v rabbitmq-plugin:/plugins \ # 同时安装 rabbitmq-plugin 插件。
-e RABBITMQ_DEFAULT_USER=guest \
-e RABBITMQ_DEFAULT_PASS=123456 \
rabbitmq:3.13-management

-e RABBITMQ_DEFAULT_USER=guest

-e RABBITMQ_DEFAULT_PASS=123456

指明了 Docker 安装 RabbitMQ 的用户名和密码信息用户下面登录 Rabbitmq

rabbitmq-plugin 安装号了 rabbitmq 的插件配置。

  1. (关闭防火墙/开放 15672端口,使用云服务器的需要在云服务器上开放 15672端口,对外可以访问)浏览器:你虚拟机的ifconfig 查询的地址:15672/(这里我的是: http://192.168.76.156:15672/)

使用上面创建Docker容器时指定的默认用户名、密码登录:

-e RABBITMQ_DEFAULT_USER=guest \
-e RABBITMQ_DEFAULT_PASS=123456 \

2.1 Docker 安装可能遇到的问题:

  1. 在使用Docker拉取RabbitMQ镜像的时候,如果遇到提示:missing signature key,那就说明Docker版本太低了,需要升级

比如我目前的Docker版本如下图所示:

解决办法:

基于CentOS7

  1. 卸载当前Docker

更好的办法是安装Docker前曾经给服务器拍摄了快照,此时恢复快照;

如果不曾拍摄快照,那只能执行卸载操作了

yum erase -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
  1. 升级yum库
yum update -y
  1. 安装Docker最新版
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果这一步看到提示:没有可用软件包 docker-ce,那就添加Docker的yum源:

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 设置Docker服务
systemctl start docker
systemctl enable docker
  1. 验证:上述操作执行完成后,再次查看Docker版本:

3. 最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”

2. RabbitMQ 的详细安装步骤(两种方式,第一种:yum 安装;第二种:docker 容器安装)的更多相关文章

  1. Docker容器安装RabbitMQ

    Docker容器安装RabbitMQ 准备资料 erlang的rpm安装包 https://github.com/rabbitmq/erlang-rpm/releases rabbitmq的rpm安装 ...

  2. Docker容器安装配置SQLServer服务(Linux)

    一:前言 随着不断的对Docker容器的实践和学习,越来越觉得容器的强大,把 SQL Server 数据库服务放在docker容器中,比你自己在宿主服务器上面安装配置一个SQL Server服务器是要 ...

  3. 更新Android Studio,提示后直接点更新即可。gradle 两种更新方法,我用的第二种:手动添加gradle

    直接更新即可. 更新完毕后,随即会让你更新gradle,但是会一直更新一直更新...... 解决方法: 第一种方法: 手动下载Android Studio 对应的 gradle版本,然后设置一下即可. ...

  4. docker容器安装及使用技巧

    关于docker前言 A)首先是关于虚拟化 虚拟化我们可以简单的理解为一种资源管理方式.有如下几种虚拟化的方式: 1.完全虚拟化:对底层硬件实现完全的虚拟.例如:Vmware Workstation ...

  5. 本地yum源构建以及Docker离线安装

    Docker离线安装以及本地yum源构建 在docker的使用过程中有时候会遇到一些私有化部署的问题,就是在一些无法上网的机器上面安装使用dokcer,这就引出了docker的离线安装的问题,dock ...

  6. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  7. Docker 容器安装及常用基础命令

    为什么用docker 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. Docker 在如下几个方面具有较大的优势: 更快速的交付和部署 Docker在整个开发周期都可以 ...

  8. Docker容器安装

    使用脚本安装 Docker 1.使用 sudo 或 root 权限登录 Centos. 2.确保 yum 包更新到最新. $ sudo yum update 3.执行 Docker 安装脚本. $ c ...

  9. Linux下Docker容器安装与使用

    注:作者使用的环境是CentOS 7,64位,使用yum源安装. 一.Docker容器的安装 1.查看操作系统及内核版本,CentOS 7安装docker要求系统为64位.系统内核版本为 3.10及以 ...

  10. docker容器安装vi (一般容器都是Debian GNU/Linux 9)

    在使用docker容器时,同时你docker里的系统正好是debian或ubuntu的时候,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要 ...

随机推荐

  1. Note -「广义二项级数」浅赏

      上回 说到拉反和扩展拉反,那么这里先给几个小小变形或推广.   基础 ver: \[\begin{align} [x^n]G(x) &= \frac{1}{n}[x^{n-1}](F(x) ...

  2. UWP 读写文件

    List<Pics> pics = new List<Pics>(); for (int i = 0; i < 2000; i++) { pics.Add(new Pic ...

  3. Linux密钥rsa加密原理和ssh使用密钥实现免密码登录

    1.公私钥简介与原理 公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是: 1) 持有公钥的一方(甲)在收到持有私钥的一方(乙)的请求时,甲会在自己的公钥列表中查找是否有乙的公钥, ...

  4. labuladong的二分法查找模板

    几条规则: 1. while(left <= right)作为循环进入条件,退出则为left > right 循环内不再有return条件 2. nums[mid] == target之后 ...

  5. 数据结构 Trick 之:子树 k 距离内问题

    能够解决的题目类型 这个 Trick 能解决的题目形如: 给定 \(n\) 个节点的有根无边权有点权树. 有 \(m\) 个询问,每个询问形如点 \(x\) 的子树内与 \(x\) 深度差不超过 \( ...

  6. 计算今天是该年的第几天(c语言实现)

    遇到一个有意思的编程题,使用C语言实现计算今天是该年的第几天. 实现代码如下: #include<stdio.h> int d[12]={31,28,31,30,31,30,31,31,3 ...

  7. Java中用Deque接口代替Stack接口完成栈功能

    之前在有需要用到栈功能的时候,都是通过使用Stack接口完成的,也就是: 1 Stack<T> stack = new Stack<>() 但今天突然发现,Java Doc里建 ...

  8. 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用

    在本地部署DeepSeek大模型实现联网增强的AI应用 一.前言 在本地部署大语言模型(LLM)并赋予其联网能力,是当前AI应用开发的重要方向.本文将基于Microsoft Semantic Kern ...

  9. 创新+1+1+1+1!筑牢算力底座,助推AI产业繁荣发展!

    近日,ICT中国·2024高层论坛-云原生发展论坛在北京国家会议中心举办.天翼云出席<城市算力互联网实践指南>编制工作启动仪式.AI Cloud人工智能云服务标准体系阶段性成果发布仪式.算 ...

  10. Shell脚本常用写法

    一.变量定义 | 赋值 | 输出 1.debugmap #!/bin/bash source /etc/profile # hive_json_tuple_params_orignal.tmp # e ...