如何在centos7系统下顺利安装rabbitmq

253人浏览 / 0人评论 / 添加收藏

在 CentOS7操作系统重安装 RabbitMQ 可以通过多种方式,但最常见的几种方法包括使用官方 Erlang 仓库和 RabbitMQ 的 YUM 仓库。下面将详细介绍如何通过这两种方法安装 RabbitMQ。

方法 1:使用 Erlang 和 RabbitMQ 的 YUM 仓库

步骤 1:安装 Erlang
RabbitMQ 需要 Erlang,所以首先需要安装 Erlang。

sudo yum install epel-release
sudo yum install erlang
步骤 2:添加 RabbitMQ YUM 仓库
导入 RabbitMQ 的 YUM 仓库公钥:

sudo wget -O /etc/yum.repos.d/rabbitmq.repo https://packagecloud.io/rabbitmq/rabbitmq-server/centos/7/os/x86_64/rabbitmq-release-3-1.el7.noarch.rpm
导入公钥:

sudo rpm --import https://packagecloud.io/gpg.key
步骤 3:安装 RabbitMQ
sudo yum install rabbitmq-server
步骤 4:启动 RabbitMQ 服务
sudo systemctl start rabbitmq-server
步骤 5:启用 RabbitMQ 服务开机自启
sudo systemctl enable rabbitmq-server
步骤 6:检查 RabbitMQ 状态
sudo systemctl status rabbitmq-server
 

方法 2:使用 Docker 安装 RabbitMQ(对于不想在系统上安装额外依赖的场景)

如果你倾向于使用 Docker,可以这样做:

安装 Docker:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
拉取 RabbitMQ Docker 镜像:

sudo docker pull rabbitmq:3-management
运行 RabbitMQ 容器:

sudo docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
这样,RabbitMQ 将运行在 Docker 容器中,你可以通过 localhost:15672 访问管理界面。默认用户名和密码为 guest / guest。

方法 3:使用二进制包安装(不推荐,除非有特殊需求)
这种方法不推荐,因为它不使用官方的包管理工具,可能会引入安全问题和管理问题。但是,如果你需要这样做,可以访问 RabbitMQ 的官方下载页面 并下载相应的二进制包。然后解压并按照文档中的指示进行安装。这种方法通常涉及到手动设置环境变量和手动启动服务。不推荐新手使用。

总结
推荐使用第一种方法,即通过 YUM 仓库安装,这样可以确保依赖管理和软件更新都比较方便。如果需要更灵活的环境隔离,可以考虑使用 Docker。

 

在安装步骤1中安装 Erlang的时候,可能会遇到一下的问题:failure: repodata/repomd.xml from rabbitmq: [Errno 256] No more mirrors to try。

这个问题可能会困扰很多做开发的小伙伴。今天经过实验把问题解决了,过程如下:

当你在使用 YUM 或 DNF 包管理器时遇到错误 "failure: repodata/repomd.xml from rabbitmq: [Errno 256] No more mirrors to try",这通常意味着 YUM 或 DNF 无法从指定的源(repository)中找到有效的镜像。以下是一些解决此问题的步骤:

1. 检查源配置
首先,检查你的 YUM 或 DNF 源配置文件(通常是 /etc/yum.repos.d/rabbitmq.repo)。确保源的 URL 是正确的,并且你有权限访问这些 URL。

输入命令执行:sudo vi /etc/yum.repos.d/rabbitmq.repo,输入如下:

[rabbitmq]
name=RabbitMQ Repository
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
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

确保 baseurlgpgkey 的 URL 是有效的,并且服务器可达。

2. 清除缓存
有时候,清除 YUM 或 DNF 的缓存可以解决问题。你可以使用以下命令来清除缓存:
sudo yum clean all  # 对于 YUM

3. 检查网络连接
确保你的系统可以访问互联网或者指定的仓库服务器。你可以使用 ping 命令来测试网络连接:

ping packagecloud.io

4. 禁用 GPG 检查(如果需要)
如果你暂时无法验证 GPG 密钥,可以尝试禁用 GPG 检查(注意:这可能会使你的包不安全):

gpgcheck=0

5. 检查 SELinux 状态
如果你的系统启用了 SELinux,它可能会阻止访问某些网络资源。你可以暂时设置 SELinux 为宽容模式来测试是否是 SELinux 导致的问题:

sudo setenforce 0
然后再次尝试安装。如果这解决了问题,你可能需要调整 SELinux 策略或为相关目录设置正确的上下文。

最后再尝试安装erlang就可以成功了。

 

全部评论