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

39 篇文章 0 订阅

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



  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值