Window10 系统 RabbitMQ的安装和简单使用

1、下载 & 安装 Erlang

因为RabbitMQ的服务端是基于 Erlang编写的,所以,首先需要安装Erlang。

1)下载

下载地址如下:

https://www.erlang.org/downloads

在这里插入图片描述

此处下载比较慢,可以参考如下百度网盘:
链接:https://pan.baidu.com/s/1oXq5QX3IlzRq5L-mk1gC4Q
提取码:luna

2)安装

选择相应的安装目录,一路next即可。

3)配置环境变量

在系统变量中新建变量
变量名(N):ERLANG_HOME
变量值(V):H:\SW_install\erl-24.1

注意:变量值需要根据自己的实际情况进行修改

在这里插入图片描述
;%ERLANG_HOME%\bin 添加到 Path 变量值的最后。

4)验证环境变量配置的正确性

echo %ERLANG_HOME%

在这里插入图片描述


2、下载 & 安装 RabbitMQ

1)下载

下载地址如下:

https://www.rabbitmq.com/install-windows.html#installer

在这里插入图片描述

2)安装

选择相应的安装目录,一路next即可。

3)配置环境变量

在系统变量中新建变量
变量名(N):RABBITMQ_SERVER
变量值(V):H:\SW_install\RabbitMQ Server\rabbitmq_server-3.9.7

注意:变量值需要根据自己的实际情况进行修改

在这里插入图片描述
;%RABBITMQ_SERVER%\sbin 添加到 Path 变量值的最后。在这里插入图片描述

4)验证环境变量配置的正确性

echo %RABBITMQ_SERVER%

在这里插入图片描述

5)安装 rabbitmq-plugins

cmd命令打开命令行窗口,进入到rabbitmq的安装bin目录(我的是:H:\SW_install\RabbitMQ Server\rabbitmq_server-3.9.7\sbin)

执行如下命令,进行插件安装:

rabbitmq-plugins.bat enable rabbitmq_management

如果此处报如下错误:
ERLANG_HOME not set correctly
在确认配置的环境变量没问题的情况下,从C:目录逐层到RabbitMQ的安装bin目录,再次执行插件安装,即可解决。

6)启动 RabbitMQ 服务

net start RabbitMQ

或者
在rabbitmq的sbin目录下,双击执行 rabbitmq-server.bat 文件。

7)停止 RabbitMQ 服务

net stop RabbitMQ

8)查看服务状态

rabbitmqctl status

9)页面访问 RabbitMQ

http://localhost:15672
账号/密码:guest/guest

在这里插入图片描述
登录后,页面如下:
在这里插入图片描述
在这里插入图片描述


3、RabbitMQ 的简单使用

1)RabbitMQ 的 pom 引用

<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
<dependency>
    <groupId>com.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    <version>5.13.1</version>
</dependency>

2)消息发送方

package com.miracle.luna.rabbitmq;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.nio.charset.StandardCharsets;

/**
 * @author Miracle Luna
 * @date 2021/10/19
 */
public class SendMQ {
    private final static String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception{
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        factory.setPort(5672);
        factory.setUsername("guest");
        factory.setPassword("guest");

        final Connection connection = factory.newConnection();
        final Channel channel = connection.createChannel();
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);

        String message = "Hello, RabbitMQ!";
        channel.basicPublish("", QUEUE_NAME, null, message.getBytes(StandardCharsets.UTF_8));
        System.out.println("Send '" + message + "'");

        channel.close();
        connection.close();
    }
}

运行结果如下:

Send 'Hello, RabbitMQ!'

3)消息接收方

package com.miracle.luna.rabbitmq;

import com.rabbitmq.client.*;

import java.io.IOException;
import java.nio.charset.StandardCharsets;

/**
 * @author Miracle Luna
 * @date 2021/10/19
 */
public class RecvMQ {
    private final static String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception{
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        factory.setPort(5672);
        factory.setUsername("guest");
        factory.setPassword("guest");

        final Connection connection = factory.newConnection();
        final Channel channel = connection.createChannel();
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);

        System.out.println("Waiting for messages...");

        Consumer consumer = new DefaultConsumer(channel) {
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                String message = new String(body, StandardCharsets.UTF_8);
                System.out.println("Received '" + message + "'");
            }
        };

        channel.basicConsume(QUEUE_NAME, true, consumer);
    }
}

运行结果如下:

Waiting for messages...
Received 'Hello, RabbitMQ!'

可以在Queues页签中,看到所有队列中的消息数量
在这里插入图片描述


4、常用命令

1)查看用户列表:rabbitmqctl list_users
2)新增一个用户:rabbitmqctl add_user root password
3)删除一个用户:rabbitmqctl delete_user test
4)修改用户密码:rabbitmqctl change_password root 123456
5)授予管理员角色:rabbitmqctl set_user_tags root administrator
6)授予用户权限:rabbitmqctl set_permissions -p / root “.” “.” “.*”
7)查看队列列表:rabbitmqctl list_queues
8)删除一个队列:rabbitmqctl delete_queue test
9)重置(如果忘记密码,可以进行应用重置,但是数据会丢失,慎用!!!):
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/36583.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SSM框架训练 实现各个功能时遇到的常见问题

快速复制当前代码到下一行&#xff1a;ctrlD 格式化代码&#xff08;快速整理代码&#xff09;&#xff1a;ctrilaltL 一步一步来&#xff0c;后续会不停添加功能。 先创建项目结构&#xff1a;搭建框架 (36条消息) SSM框架模板&#xff08;高配&#xff1a;一次性配完所有…

vue 多环境打包指令配置及编译

1.创建多环境: 在根目录创建.env.xxx文件,如下为例(我创建了两个) 文件内容主要包括&#xff1a; # 页面标题 VUE_APP_TITLE "标题"# 生产环境配置 ENV production# DNA检测仓储管理系统/生产环境 VUE_APP_BASE_API https://xxxxxx 2.设置: 修改根目录下的package…

freemark生成pdf

freemark生成pdf 字体库 simsun.ttc 解决中文问题 /*** 生成pdf* param params* param templPath* param ftlName* param htmlPath* param pdfPath* param fontPath* return*/public String processPdf(Map<String, Object> params, String templPath, String ftlName,…

SSM+Shiro安全框架整合(完成安全认证--登录+权限授权)+ssm整合shiro前后端分离

目录 1.搭建SSM框架 1.1.引入相关的依赖 1.2. spring配置文件 1.3. web.xml配置文件 1.4.配置Tomcat并启动 2.ssm整合shiro---认证功能 (1).引入依赖 (2).修改spring配置文件 (3).修改web.xml文件 (4).新建login.jsp(登录页面) (5).新建success.jsp(登录成功后跳转到此…

监听DOM尺寸变化 - ResizeObserver

一、与 MutationObserver Api的区别 MutationObserver 主要用来监听 DOM 元素的属性和节点变化的&#xff0c;非 DOM 样式尺寸&#xff0c;可查看之前一篇 blog - DOM规范 - MutationObserver接口观察DOM元素的属性和节点变化ResizeObserver 主要用来监听 DOM 元素的 内容区域…

系统运维和网络运维有什么区别吗?

跟着互联网以及科技的高速开展&#xff0c;衍生出了许多的新奇职业&#xff0c;比方网络运维、网络安全运维。 从字面意思了解&#xff0c;两者之间没有什么太大区别&#xff0c;因而很多人很容易将两者混杂。 系统和网络运维有什么区别? 一个偏系统&#xff08;linux、doc…

23款奔驰GLS450更换迈巴赫GLS600外观套件,尽显奢华

在外观上不要过分的张扬&#xff0c;低调的同时还要彰显强大的气场&#xff0c;换装迈巴赫专属套件&#xff0c;迈巴赫专属踏板&#xff0c;还有迈巴赫的醒目M标志&#xff0c;车身轮廓和线条方面&#xff0c;奔驰GLS450和迈巴赫GLS600尺寸及其契合&#xff0c;只需通过增加一些…

网络安全(黑客)学习路线

前言&#xff1a; 学基础花费很长时间&#xff0c;光语言都有几门&#xff0c;有些人会倒在学习 linux 系统及命令的路上&#xff0c;更多的人会倒在学习语言上&#xff1b;1、打基础时间太长 对于网络安全基础内容&#xff0c;很多人不清楚需要学到什么程度&#xff0c;囫囵…

Spark-用IDEA编写wordcount demo

配置 Spark版本&#xff1a;3.2.0 Scala版本&#xff1a;2.12.12 JDK&#xff1a;1.8 Maven&#xff1a;3.6.3 pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi&quo…

【Redis】—— Redis的AOF持久化机制

&#x1f4a7; 【 R e d i s 】—— R e d i s 的 A O F 持久化机制 \color{#FF1493}{【Redis】 —— Redis的AOF持久化机制} 【Redis】——Redis的AOF持久化机制&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f984; 个人主页——微风撞…

基于单片机语音识别智能家居系统的设计与实现

功能介绍 以STM32单片机作为主控系统&#xff1b;液晶显示当前环境温湿度&#xff0c;用电器开关状态通过语音模块识别设定的语音&#xff1b;DHT11进行环境温湿度采集&#xff1b;通过语音播报模块报当前温湿度&#xff0c;智能回复通过语音识别可以打开灯&#xff0c;窗帘&am…

折叠屏手机再添新功能?OPPOColorOS14发布,打通 App 和终端互联

近年来&#xff0c;多终端互联互通已经成为数码产品的发展趋势&#xff0c;各家手机品牌也在不断提升相关功能。 根据数码博主 数码闲聊站的爆料&#xff0c;OPPO即将发布ColorOS 14&#xff0c;并特别提供了针对折叠屏手机的Fold系统。该系统在横屏模式下对自带应用进行了更好…

mac android studio设置跟mac系统一样的快捷键

mac版的android studio 跟mac系统的快捷键不一样,主要修改了下面几组操作,为了跟mac系统快捷键相同 setting->Keymap 搜索bottom 修改3个快捷键: cmd↓ 设置让鼠标移动到屏幕最后面 shiftcmd↓ 选中从当前位置到屏幕最下面 option↓. 或者 end 滚动到屏幕最下方 // 因为默认…

基于 Arduino 库实现 ESP32 TCP Server 应用例程

实现步骤&#xff1a; ESP32 开启 WiFi Station 模式连接路由器连上路由器后将获取到分配的 IP 地址基于分配的 IP 地址创建 TCP Server 测试代码如下&#xff1a; #include <WiFi.h> #include <WiFiClient.h>const char* ssid "cc2.4"; const char*…

采用Prometheus+Grafana+Altermanager搭建部署K8S集群节点可视化监控告警平台

文章目录 1. 实验节点规划表2. 安装Prometheus3. 安装node_exporter4. 配置prometheus.yml文件5. 安装Grafana6. 安装Altermanager监控告警 采用 "PrometheusGrafana"的开源监控系统&#xff0c;安装部署K8S集群监控平台。 并使用Altermanager告警插件&#xff0c;配…

【计算机组成原理总结】

第一章计算机系统概述 第二章数据的表示与运算 第三章存储系统 第四章 指令系统 第五章 中央处理器 第六章 总线 第七章 输入输出设备

hadoop -Unable to start failover controller. Parent znode does not exist

Unable to start failover controller. Parent znode does not exist 问题描述 今天使用星环的TDH集群时&#xff0c;HDFS服务宕掉&#xff0c;在后台查看namenode 始终起不来 kubectl get pod -o wide | grep hdfs 如上图&#xff0c;k8s pod 起来又crash 掉&#xff0c;然后…

Kafka入门,分区的分配再平衡(二十)

分区的分配以及再平衡 1、kafka有四种主流的分区策略&#xff1a;Range,RoundRobin,Sticky,CooperativeSticky。可以通过配置参数partition.assignment.strategy,修改分区的分配策略。默认策略是RanageCooperativeSticky。Kafka可以同事使用多个分区分配策略。 参数描述heartb…

【*1900倍数遍历】CF1627 D

Problem - D - Codeforces 题意&#xff1a; 思路&#xff1a; 在枚举数列子集的gcd时&#xff0c;通常可以枚举倍数 对于这道题要注意&#xff0c;j/i的gcd要为1&#xff0c;这样才能保证i是这个子集的最大公约数 Code&#xff1a; #include <bits/stdc.h>//#define…

决策树(Decision Tree)

文章目录 一、决策树 一、决策树 决策树在机器学习中也是比较常见的一种算法&#xff0c;属于监督学习中的一种。看字面意思应该也比较容易理解&#xff0c;相比其他算法比如支持向量机(SVM)或神经网络&#xff0c;似乎决策树感觉“亲切”许多。 优点&#xff1a;计算复杂度不…