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一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
20天前
|
消息中间件 Java Linux
RocketMQ的下载与安装(全网最细保姆级别教学)
RocketMQ的下载与安装(全网最细保姆级别教学)
85 0
|
2月前
|
消息中间件 Java 物联网
MQTT常见问题之拿掉RocketMq依赖后依旧提示rabbitmq如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
2月前
|
消息中间件 网络协议 物联网
MQTT常见问题之物联网设备端申请动态注册时MQTT服务不可用如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
2月前
|
消息中间件 Java Linux
Linux下RabbitMQ安装与使用
Linux下RabbitMQ安装与使用
38 1
|
2月前
|
NoSQL Java Redis
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
293 1
|
2月前
|
消息中间件 数据可视化 大数据
【如何安装和配置RabbitMQ(转载)】
【如何安装和配置RabbitMQ(转载)】
31 2
|
6天前
|
消息中间件 存储 网络协议
初始&安装RabbitMQ
初始&安装RabbitMQ
17 3
|
12天前
|
消息中间件 存储 Java
RocketMQ部署文档
RocketMQ部署文档
|
15天前
|
消息中间件 JavaScript 前端开发
Window系统下载与安装RabbitMQ
Window系统下载与安装RabbitMQ
33 0
|
18天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务