第一步:安装yum仓库

导入签名KEY:

## primary RabbitMQ signing key
## 这一步如果因为网络问题下载不成功,可以先将签名文件下载下来,本地导入
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc ## modern Erlang repository
rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey
## RabbitMQ server repository
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey

手动配置Yum源:

新建文件“/etc/yum.repos.d/rabbitmq.repo”,编辑如下内容:

# 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

第二步:执行安装

更新Yum包元数据:

yum update -y

特别地,在腾讯云主机CentOS 8.2操作系统上安装时遇到无法从AppStream下载问题,解决办法参考:完美解决CentOS8 yum安装AppStream报错,更新yum后无法makecache的问题

另外还要注意:腾讯云主机的CentOS 8.2操作系统基础yum仓库文件的名字都是“CentOS-Linux-.repo”,而不是标准的“CentOS-.repo”命名方式,所以修改的时候不要搞错文件。

安装依赖:

## install these dependencies from standard OS repositories
yum install socat logrotate -y

安装Erlang和RabbitMQ:

## install RabbitMQ and zero dependency Erlang from the above repositories,
## ignoring any versions provided by the standard repositories
yum install --repo rabbitmq_erlang --repo rabbitmq_server erlang rabbitmq-server -y

第三步:启动服务

设置开机启动:

chkconfig rabbitmq-server on

安装服务工具:

yum -y install initscripts

启动服务:

# 启动服务
/sbin/service rabbitmq-server start # 查看服务状态
/sbin/service rabbitmq-server status # 停止服务
/sbin/service rabbitmq-server stop

查看服务端口是否已经正常:

netstat -anpt

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 84521/beam.smp
tcp6 0 0 :::5672 :::* LISTEN 84521/beam.smp

默认服务端口5672已经处于监听状态,表明RabbitMQ服务启动成功。

第四步:启用Web管理

RabbitMQ的Web管理界面是通过插件实现的,默认并不启用,所以在查看端口的时候也不会看到管理端口“15672”在监听。

手动启用Web管理插件:rabbitmq-plugins enable rabbitmq_management

再次查看监听端口:

netstat -anpt

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 84521/beam.smp
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 84521/beam.smp
tcp6 0 0 :::5672 :::* LISTEN 84521/beam.smp

查看插件列表状态;

rabbitmq-plugins list

Listing plugins with pattern ".*" ...
Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@VM-24-10-centos
|/
[ ] rabbitmq_amqp1_0 3.9.13
[ ] rabbitmq_auth_backend_cache 3.9.13
[ ] rabbitmq_auth_backend_http 3.9.13
[ ] rabbitmq_auth_backend_ldap 3.9.13
[ ] rabbitmq_auth_backend_oauth2 3.9.13
[ ] rabbitmq_auth_mechanism_ssl 3.9.13
[ ] rabbitmq_consistent_hash_exchange 3.9.13
[ ] rabbitmq_event_exchange 3.9.13
[ ] rabbitmq_federation 3.9.13
[ ] rabbitmq_federation_management 3.9.13
[ ] rabbitmq_jms_topic_exchange 3.9.13
[E*] rabbitmq_management 3.9.13
[e*] rabbitmq_management_agent 3.9.13
[ ] rabbitmq_mqtt 3.9.13
[ ] rabbitmq_peer_discovery_aws 3.9.13
[ ] rabbitmq_peer_discovery_common 3.9.13
[ ] rabbitmq_peer_discovery_consul 3.9.13
[ ] rabbitmq_peer_discovery_etcd 3.9.13
[ ] rabbitmq_peer_discovery_k8s 3.9.13
[ ] rabbitmq_prometheus 3.9.13
[ ] rabbitmq_random_exchange 3.9.13
[ ] rabbitmq_recent_history_exchange 3.9.13
[ ] rabbitmq_sharding 3.9.13
[ ] rabbitmq_shovel 3.9.13
[ ] rabbitmq_shovel_management 3.9.13
[ ] rabbitmq_stomp 3.9.13
[ ] rabbitmq_stream 3.9.13
[ ] rabbitmq_stream_management 3.9.13
[ ] rabbitmq_top 3.9.13
[ ] rabbitmq_tracing 3.9.13
[ ] rabbitmq_trust_store 3.9.13
[e*] rabbitmq_web_dispatch 3.9.13
[ ] rabbitmq_web_mqtt 3.9.13
[ ] rabbitmq_web_mqtt_examples 3.9.13
[ ] rabbitmq_web_stomp 3.9.13
[ ] rabbitmq_web_stomp_examples 3.9.13

可以看到跟Web管理相关的插件都启用了。

至此,虽然RabbitMQ的Web管理插件已经启用,但是只能在通过本机地址打开Web界面,如果希望从远程访问Web界面(大多数场景就是这样的),还需要进行配置。

默认情况下,启动RabbitMQ Server是没有明确指定配置文件的,也就是我们无法修改允许远程访问Web管理界面的参数。

# grep 'config file' /var/log/rabbitmq/rabbit@VM-24-10-centos.log
2022-03-17 16:51:36.534481+08:00 [info] <0.230.0> config file(s) : (none) # 从这里可以看出RabbitMQ在启动时没有明确指定配置文件

解决办法:

(1)通过环境变量RABBITMQ_CONFIG_FILE指定RabbitMQ配置文件路径

# vim .bashrc
export RABBITMQ_CONFIG_FILE=/etc/rabbitmq/rabbitmq.conf

文件/etc/rabbitmq/rabbitmq.conf可能不存在,创建一个即可。

RabbitMQ的配置文件参数示例:rabbitmq.conf.example,可以直接下载下来使用,里面都是默认配置参数。

(2)修改允许远程访问Web界面的参数:将loopback_users.guest参数修改为false

loopback_users.guest = false

(3)重启RabbitMQ服务

/sbin/service rabbitmq-server stop
/sbin/service rabbitmq-server start

现在再来看RabbitMQ是否在启动时使用了指定配置文件:

grep 'config file' /var/log/rabbitmq/rabbit@VM-24-10-centos.log
2022-03-17 16:51:36.534481+08:00 [info] <0.230.0> config file(s) : (none)
2022-03-17 17:22:09.174170+08:00 [info] <0.230.0> config file(s) : /etc/rabbitmq/rabbitmq.conf # 显然,从启动日志看RabbitMQ现在使用了指定的配置文件

【参考】

https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit/docs/rabbitmq.conf.example RabbitMQ官方配置文件示例

https://www.rabbitmq.com/relocate.html RabbitMQ环境变量含义

https://blog.csdn.net/qq_27198345/article/details/115384898 RabbitMQ的默认配置文件地址

https://blog.csdn.net/PacosonSWJTU/article/details/114198834 rabbitmq启动失败-报Failed to load advanced configuration file解决方法

https://blog.csdn.net/fittec/article/details/116307941 CentOS8启动rabbitmq-server报错:epmd error for host 172: badarg (unknown POSIX error)解决

CentOS 8安装RabbitMQ的更多相关文章

  1. 在Centos上安装RabbitMQ流程(转)

    在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...

  2. CentOS 7 安装 RabbitMQ 3.7

    目录 CentOS 7 安装 RabbitMQ 3.7 安装Erlang 安装依赖 创建yum源 参考 添加内容 安装 进入erlang命令行表示成功 安装 socat RabbitMQ 安装 sys ...

  3. CentOS上安装RabbitMQ

    所需环境 操作系统:Centos服务一台 网络环境:可以访问公网 安装Erlang RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby ...

  4. Centos 7安装RabbitMQ 3.7.8版本(单机版)-不使用RPM

    RabbitMQ是目前非常热门的消息中间件,凭借其高可靠.高扩展.高可用及丰富的功能特性:TTL.死信队列.延迟队列.优先级队列.消息持久化.镜像队列. 消息中间件是指利用高效可靠的消息传递机制进行与 ...

  5. Centos 7 安装 rabbitmq

    1.安装erlang rabbitmq 官方下载地址 "http://www.rabbitmq.com/download.html" ,选择"RHEL, CentOS, ...

  6. centos 7 安装rabbitmq 3.6.12

    0 安装 epel yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11. ...

  7. CentOS 7 安装Rabbitmq

    第一步也是往往最重要的一步:下载安装包! Rabbitmq地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.5 Erla ...

  8. 在 CentOS 7 安装 RabbitMQ

    一.安装 Erlang RabbitMQ 是使用 Erlang 开发的,所以需要首先安装 Erlang,本文安装其最新版本 添加 repo 文件: sudo vim /etc/yum.repos.d/ ...

  9. CentOS 7 安装RabbitMQ 3.3

    1.安装erlang 语言环境 安装依赖文件 #yum install ncurses-devel 进入 http://www.erlang.org/download.html 选择源文件下载 wge ...

  10. RabbitMQ系列之Centos 7安装RabbitMQ 3.6.1

    1.安装EPEL-7: rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 2.安 ...

随机推荐

  1. 【转帖】linux 调优篇 :硬件调优(BIOS配置)* 壹

    一. 设置内存刷新频率为Auto二. 开启NUMA三. 设置Stream Write Mode四. 开启CPU预取配置五. 开启SRIOV六. 开启SMMU 通过在BIOS中设置一些高级选项,可以有效 ...

  2. [转帖]013 Linux 搞懂「文件所属者更改及权限的赋予」从未如此简单 (chmod、chgrp、chown)

    https://my.oschina.net/u/3113381/blog/5435014   01 一图详解「ls -l」 02 两种符号区分表示文件和目录 -(横线) # 表示非目录文件 d # ...

  3. 【解决了一个小问题】macbook m2 下交叉编译 musl-gcc 支持的 gozstd 库

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 我的 golang 项目中使用了 gozstd, 在 ma ...

  4. ABP vNext系列文章10---分布式事务集成netcore.Cap

    最近项目中要用到分布式事务功能,调研了DTM和Cap,最终确定用Cap来实现,Cap支持最终一致性,项目中采用MQ作为消息中间件,数据库用的mysql,集成步骤如下: 1.在需要发布消息的服务中引入如 ...

  5. gin启动https支持

    gin是一个使用Go语言开发的Web框架,具有运行速度快,分组的路由器,良好的崩溃捕获和错误处理,支持中间件等. 在工作中有时候需要支持https服务,gin可以通过中间件的方式来提供对https的支 ...

  6. 开发QQ官方机器人

    QQ 频道机器人开发简明教程 1. 简介 QQ 频道机器人是一种可以在 QQ 频道中与用户进行互动的服务.这个教程旨在帮助新手学习如何使用 Python 的官方SDK,快速实现一些基本的机器人功能. ...

  7. 监控Celery不一定非要使用Flower

    运维平台中有许多的周期/定时/异步任务,例如证书扫描.数据备份.日志清理.线上作业等等,这些任务的执行都是借助于Celery来完成的.任务多了之后就会遇到一系列的问题,例如我之前写过的将任务分多队列来 ...

  8. css 修改复选框的样式

    效果图: 实现代码如下: /* 选中input标签类型为复选框的 */ input[type="checkbox"] { width: 16px; height: 16px; ve ...

  9. 通过Demo学WPF—数据绑定(二)

    准备 今天学习的Demo是Data Binding中的Linq: 创建一个空白解决方案,然后添加现有项目,选择Linq,解决方案如下所示: 查看这个Demo的效果: 开始学习这个Demo xaml部分 ...

  10. 关于19c RU补丁报错问题的分析处理

    本文演示关于19c RU补丁常见报错问题的分析处理: 1.查看补丁应用失败的原因 2.问题解决后可继续应用补丁 3.发现DB的RU补丁未更新 4.opatchauto应用DB补丁报错解决 1.查看补丁 ...