当前位置:首页 > CN2资讯 > 正文内容

Windows 下安装RabbitMQ服务器及基本配置rabbitmq安装windows

15小时前CN2资讯

RabbitMQ是一个在AMQP协议标准基础上完整的,可复用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。

装RabbitMQ服务器必须首先安装 Erlang 运行环境。

安装Erlang

安装Erlang 时要注意安装的RabbityMQ 所依赖的Erlang版本,根据RabbitMQ的要求选择一个版本,这里我要安装的RabbitMQ的版本是 3.7.7 ,他依赖的Erlang版本范围是

19.3.6.4 到 21.0.x,因此我选择版本是OTP 20.3. Erlang下载地址。下载Erlang安装包后直接安装就可以了。

设置ERLANG_HOME 环境变量

我这里是默认安装所以Erlang的安装路径在:

C:\Program Files\erl9.3\bin\erl.exe

点击确定在系统环境变量里就增加刚刚添加的ERLANG_HOME

注意:如果之前安装了Erlang的其他版本,需要卸载后在进行重新安装和设置。

在开始菜单查找Erlang,点击启动 打开如下界面,那么Erlang就安装成功了。接下来就安装RabbitMQ。

安装RabbitMQ

可以在RabbitMQ的官方网站下载最新版本的RabbitMQ服务器安装程序,RabbitMQ下载地址, 这里我下载的是官方推荐的最新版本rabbitmq-server-3.7.7.exe, 然后点击默认安装。

RabbitMQ安装好后是作为windows service 运行在后台。

设置RabbitMQ环境变量

RabbitMQ 安装好后在开始菜单输入rabbitmq 会看到三个菜单:

这里的三个菜单是提供控制Windows service的命令,为了能够在任意Windows命令窗口上操控RabbitMQ服务需要在系统里加一个环境变量并且配置在系统的PHTH环境变量中。

首先添加一个RABBITQM_SERVER变量:

然后在系统的path变量中配置如下:

这样就可以在windows administrator启动的CMD窗口操控RabbitMQ服务了。不需要每次都定位到:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.7\sbin>

安装 rabbitmq_management

我们用命令查看一下RabbtitMQ的所有插件:

C:\WINDOWS\system32>rabbitmq-plugins list

看到RabbtitMQ 罗列出来了很多插件

我们用下列命令安装rabbitmq_management插件,这款插件是可以可视化的方式查看RabbitMQ 服务器实例的状态,以及操控RabbitMQ服务器。

C:\WINDOWS\system32>rabbitmq-plugins enable rabbitmq_management

运行完命令后,看到下图表示安装成功了。

现在我们在浏览器中输入:http://localhost:15672 可以看到一个登录界面:

这里可以使用默认账号guest/guest登录后的界面如下:

在浏览器中输入 http://localhost:15672/api/ 就可以看到 RabbitMQ Management HTTP API 文档,如下图:

这样就可以查看RabbitMQ server实例状态的相关信息了。

管理rabbitmq_management的用户

用命令rabbitmqctl list_users 查看一下现rabbitmq_management注册用户

发现现在只有一个用户guest,并且它的tag是administrator.

那么在命令行下创建一个用户,创建用户的命令合是:

rabbitmqctl add_user [username] [password]

现在创建一个username=rabbit1 password=rabbit1的用户, 命令如下:

rabbitmqctl add_user rabbit1 rabbit1

创建成功了:

现在看下有多少用户,跑一下命令:

rabbitmqctl list_users

发现用户列表里多了一个用户 rabbit1,但是tag是空的。使用命令给rabbit设置tag,设置tag的命令格式:

rabbitmqctl set_user_tag [tag1] [tag2] ...

一次可以给一个用户设置多个tag,也可以设置一个

现在rabbit1 有两个tag了一个是administrator ,一个是none.

有5个tag可供选择,分别是:administrator ,monitoring,policymaker,management和none 有兴趣的同学可以到这里了解各个tag的含义,其实这里的tag代表的是权限,administrator是最高权限,none表示不能访问,这里administrator和none的组合,权限应该是向高看齐,忽略none,用的是administrator的权限。我们用rabbit1/rabbit1 登录rabbitmq_management。

其实有了rabbitmq_management这个可视化插件,很多事情都可以在这个插件里干,包括创建用户,创建交换机(Exchange)和创建队列(Queque)。

关于Rabbit的在windows下的基本配置就告一段落,关于更多的更高级的配置,可以参考官网,有了rabbitmq_management 插件确实方便了不少。下面就开始创建客户端进行测试了。

测试

创建两个.Net Core Console 类型的应用程序,一个用于发送消息,一个用于接收消息。

1. Send 端代码:

using System; using System.Text; using RabbitMQ.Client; namespace Q.Demo.Send { class Program { static void Main(string[] args) { var factory = new ConnectionFactory() { HostName = "localhost" }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: "hello", durable: false, exclusive: false, autoDelete: false, arguments: null); while (true) { var input = Console.ReadLine(); string message = input; var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(exchange: "", routingKey: "hello", basicProperties: null, body: body); Console.WriteLine(" [x] Sent {0}", message); } } Console.WriteLine(" Press [enter] to exit."); Console.ReadLine(); } } }

2.Receive端代码:

using System; using System.Text; using RabbitMQ.Client; using RabbitMQ.Client.Events; namespace Q.Demo.Receive { class Program { static void Main(string[] args) { var factory = new ConnectionFactory() { HostName = "localhost" }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: "hello", durable: false, exclusive: false, autoDelete: false, arguments: null); var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body); Console.WriteLine(" [x] Received {0}", message); }; channel.BasicConsume(queue: "hello", autoAck: true, consumer: consumer); Console.WriteLine(" Press [enter] to exit."); Console.ReadLine(); } } } }

运行输入消息效果如下:

总结:

关于RabbitMQ在windows 下的安装和基本设置步骤:

1.安装对应版本的Erlang 并设置环境变量

2.安装RabbitMQ

3.设置环境变量

4.安装插件rabbitmq_management

5.有了插件rabbitmq_management很多事情就可以在这个可视化插件中来完成了。

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/31336.html

    分享给朋友:

    “Windows 下安装RabbitMQ服务器及基本配置rabbitmq安装windows” 的相关文章

    如何安全地关闭防火墙和使用Linux命令管理防火墙

    在使用Linux系统时,关闭防火墙这件事我总觉得是个敏感话题。防火墙是保护计算机免受外部攻击的重要屏障,理解其作用很有必要。防火墙可以帮助我们监控和限制进入或离开系统的网络流量,让未授权的访问无处遁形。因此,在我们决定关闭防火墙之前,首先要明确什么样的场景和条件下,这个操作是合理的。 关闭防火墙之前...

    大硬盘服务器的应用与优化建议

    大硬盘服务器,是一种为了存储大量数据而特别设计的服务器。它在数据存储和管理方面发挥着至关重要的作用,特别是在当今数据爆炸的时代。这样一台服务器不仅需要满足基本的存储需求,还应具备高效的性能。无论是企业的数据库管理、云计算服务,还是大数据分析,都会依赖这样的服务器进行支持。 我对大硬盘服务器的定义和用...

    AS4837和AS9929线路在国际通信中的优势与应用分析

    在了解AS4837线路的历史背景时,回顾其起源与发展非常重要。AS4837线路,通常被称为中国联通的骨干网线路,最早始建于20世纪90年代。那时,随着互联网的兴起,全球对网络基础设施的需求不断增加,中国决定建立更强大的国际连接,通过AS4837将中国大陆与香港、美国、日本、韩国等多地紧密相连。这个决...

    Debian 修改 DNS 的详细步骤与常见问题解决方案

    在讨论 Debian 中的 DNS 修改前,我想先和大家分享一些关于 DNS 的基本信息。DNS(Domain Name System)是互联网的“电话簿”,它将我们可读的网站地址(如 www.example.com)转换为计算机能够理解的 IP 地址。这一过程对于我们浏览网页、发送邮件等操作至关重...

    如何选择适合自己的主机:从需求分析到性能优化

    在选购主机之前,我总是会先认真思考我的需求。明确自己选择主机的目的和使用场景是至关重要的。如果你是为了玩游戏而购置主机,那么高性能显卡和处理器就显得尤为重要。而如果只是用来办公、浏览网页或者看视频,其实选择相对普通的配置就可以满足日常需求。确定这些后,才能更有针对性地进行主机的选择。 接下来,我们需...

    如何使用Bandwagon优惠码享受团体购物乐趣

    在购物的时候,我们常常会看到优惠码这个词。Bandwagon优惠码作为一种新兴的促销工具,逐渐引起了大众的关注。我个人认为,了解Bandwagon的由来和它的独特之处,有助于我们更好地利用这种优惠方式。 所谓Bandwagon,字面意思是“随大流”。这个词源自于美国的一种游行车,指的是人们会积极参与...