RabbitMQ【部署 01】一篇学会RabbitMQ服务依赖的下载安装及简单使用(首次登录 User can only log in via localhost 问题处理)

简介: RabbitMQ【部署 01】一篇学会RabbitMQ服务依赖的下载安装及简单使用(首次登录 User can only log in via localhost 问题处理)

1.简单介绍

来自官网的部分介绍:

RabbitMQ is the most widely deployed open source message broker.

RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.

RabbitMQ runs on many operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.

简单翻译一下:

RabbitMQ是部署最广泛的开源消息代理。

是轻量级的,易于在本地和云中部署。它支持多种消息传递协议。

可以部署在分布式和联邦配置中,以满足大规模、高可用性的需求。

运行在许多操作系统和云环境上,并为大多数流行语言提供了广泛的开发工具。

2.下载安装

2.1 rabbitmq-server下载

【下载地址】可以下载RabbitMQ服务端和相关依赖,官网也有【安装说明】

首先下载rabbitmq-server这个要根据环境进行选择,我是用的云服务器版本为:

# CentOS7.x 为 el7
[root@tcloud ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

根据系统进行安装包的搜索:

点击下载,可以进行联网下载安装也可以直接进行下载,本次选择直接下载安装文件rabbitmq-server-3.10.0-1.el7.noarch.rpm

不可直接安装,需要erlang环境,否则报错:

Error: Package: rabbitmq-server-3.10.0-1.el7.noarch (/rabbitmq-server-3.10.0-1.el7.noarch)
           Requires: erlang >= 23.2
           Available: erlang-R16B-03.18.el7.x86_64 (epel)
               erlang = R16B-03.18.el7

2.2 erlang环境下载

下载前可查看rabbitmq-server不同版本依赖erlang环境版本的对照表,也可以直接安装rabbitmq-server从报错信息里获取需要的版本,由于是同一个网站,下载的方式是一样的,这次也是直接下载安装文件erlang-23.3.4.11-1.el7.x86_64.rpm

2.3 安装

# 首先安装erlang环境
[root@tcloud rabbitmq]# rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm
warning: erlang-23.3.4.11-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:erlang-23.3.4.11-1.el7           ################################# [100%]
# 安装rabbitmq-server
[root@tcloud rabbitmq]# rpm -ivh rabbitmq-server-3.10.0-1.el7.noarch.rpm
warning: rabbitmq-server-3.10.0-1.el7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 6026dfca: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:rabbitmq-server-3.10.0-1.el7     ################################# [100%]

3.简单使用

3.1 服务启动

# 加入开机自启
[root@tcloud rabbitmq]# systemctl enable rabbitmq-server
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
# 启动服务
systemctl start rabbitmq-server
# 查看启动状态
[root@tcloud rabbitmq]# systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-03-01 14:52:49 CST; 36s ago
 Main PID: 30095 (beam.smp)
   CGroup: /system.slice/rabbitmq-server.service
           ├─30095 /usr/lib64/erlang/erts-11.2.2.10/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sbwtdio none...
           ├─30110 erl_child_setup 32768
           ├─30139 /usr/lib64/erlang/erts-11.2.2.10/bin/epmd -daemon
           ├─30159 inet_gethost 4
           └─30160 inet_gethost 4
Mar 01 14:52:47 tcloud rabbitmq-server[30095]: Doc guides:  https://rabbitmq.com/documentation.html
Mar 01 14:52:47 tcloud rabbitmq-server[30095]: Support:     https://rabbitmq.com/contact.html
Mar 01 14:52:47 tcloud rabbitmq-server[30095]: Tutorials:   https://rabbitmq.com/getstarted.html
Mar 01 14:52:47 tcloud rabbitmq-server[30095]: Monitoring:  https://rabbitmq.com/monitoring.html
Mar 01 14:52:47 tcloud rabbitmq-server[30095]: Logs: /var/log/rabbitmq/rabbit@tcloud.log
Mar 01 14:52:47 tcloud rabbitmq-server[30095]: /var/log/rabbitmq/rabbit@tcloud_upgrade.log
Mar 01 14:52:47 tcloud rabbitmq-server[30095]: <stdout>
Mar 01 14:52:47 tcloud rabbitmq-server[30095]: Config file(s): (none)
Mar 01 14:52:49 tcloud systemd[1]: Started RabbitMQ broker.
Mar 01 14:52:49 tcloud rabbitmq-server[30095]: Starting broker... completed with 0 plugins.

3.2 WEB配置使用

此时服务已经可以使用了,但是,默认情况下,RabbitMQ是没有安装WEB端插件的,需要手动积获才可以生效。命令如下:

[root@tcloud ~]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@tcloud:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@tcloud...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
started 3 plugins.

更多插件可以到Community Plugins页面进行【下载安装】。插件配置完成后使用地址http://服务器IP:15672/用户名密码guest/guest即可登录:

3.3 首次登录问题处理

  • 方法 1️⃣ 添加非guest用户
# 1.添加用户及登录密码
[root@tcloud ~]# rabbitmqctl add_user admin admin
Adding user "admin" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
# 2.设置用户标签(标签跟guest一致)
[root@tcloud ~]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
# 3.设置权限 admin 用户可访问虚拟主机 / 并在所有的资源上具备可配置、可写、可读
[root@tcloud ~]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
# 查看帮助
rabbitmqctl help
# 查看具体命令
[root@tcloud ~]# rabbitmqctl help set_permissions
Usage
rabbitmqctl [--node <node>] [--longnames] [--quiet] set_permissions [--vhost <vhost>] <username> <conf> <write> <read>
Sets user permissions for a vhost.

使用admin/admin即可登录:

  • 方法 2️⃣ 修改loopback_users列表

找到rabbit.app文件并loopback_users列表里的:

# 查找文件
[root@tcloud ~]# find / -name rabbit.app
/usr/lib/rabbitmq/lib/rabbitmq_server-3.10.0/plugins/rabbit-3.10.0/ebin/rabbit.app
# 修改文件
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.10.0/plugins/rabbit-3.10.0/ebin/rabbit.app
 # 删除 loopback_users 列表里的 <<"guest">> 仅保留如下空列表
   {loopback_users, []},

# 重启服务
systemctl restart rabbitmq-server.service

此时guest用户即可登录WEB端:

4.总结

  1. 先安装依赖再安装服务。
  2. 启用插件。
  3. 添加新用户或消除限制。
相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
9月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
599 18
|
8月前
|
物联网 Linux 开发者
快速部署自己私有MQTT-Broker-下载安装到运行不到一分钟,快速简单且易于集成到自己项目中
本文给物联网开发的朋友推荐的是GMQT,让物联网开发者快速拥有合适自己的MQTT-Broker,本文从下载程序到安装部署手把手教大家安装用上私有化MQTT服务器。
1961 5
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
1740 91
|
9月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
1075 4
|
11月前
|
消息中间件 Java 中间件
RocketMQ实战—2.RocketMQ集群生产部署
本文主要介绍了大纲什么是消息中间件、消息中间件的技术选型、RocketMQ的架构原理和使用方式、消息中间件路由中心的架构原理、Broker的主从架构原理、高可用的消息中间件生产部署架构、部署一个小规模的RocketMQ集群进行压测、如何对RocketMQ集群进行可视化的监控和管理、进行OS内核参数和JVM参数的调整、如何对小规模RocketMQ集群进行压测、消息中间件集群生产部署规划梳理。
RocketMQ实战—2.RocketMQ集群生产部署
|
Web App开发 存储 监控
iLogtail 开源两周年:UC 工程师分享日志查询服务建设实践案例
本文为 iLogtail 开源两周年的实践案例分享,讨论了 iLogtail 作为日志采集工具的优势,包括它在性能上超越 Filebeat 的能力,并通过一系列优化解决了在生产环境中替换 Filebeat 和 Logstash 时遇到的挑战。
584 103
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
273 10
|
12月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
830 2
【Docker项目实战】Docker部署RabbitMQ消息中间件