RabbitMQ在window的搭建
RabbitMq window 搭建设置过程,网上有些说的不太明白,所以亲自操刀测试过程,参考了很多人的资料,多谢各位大神的宝贵资料
第一步:装RabbitMq运行环境,类似一个虚拟机的东东
1.otp_win32_19.0.exe 下载地址:https://www.erlang.org/ 分32位和64位根据个人系统安装不同的,这地址是国外的,貌似的翻墙 (forwindows)
2.rabbitmq-server-3.2.3.exe 下载地址:http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.3/rabbitmq-server-3.2.3.exe(Rabbit MQ Server Windows Installer)
这里装完一定要去自己电脑:开始->控制面板->系统->高级系统设置->设置环境变量
一定是系统变量,添加变量名:ERLANG_HOME 变量值:C:\Program Files (x86)\erl8.0 ---------说明,此路径为你安装的ErLang这个东西的安装地方默认是C盘
不然会走弯路,我当时不是添加到系统变量,我靠,搞死我两天,查了很多资料也没说明白的
默认安装的Rabbit MQ 监听端口是5672
使用Rabbit MQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态,
首先你可以在命令行中使用下面的命令激活:
不要自己cmd自己cp菜单目录去找哈,安装完上面的2,会有如下截图,点开它自动打开

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin\------
然后在横杠后面写命令
如激活管理界面 拿这个替换横杠即可 : rabbitmq-plugins.bat enable rabbitmq_management
要重启服务才能生效,可以执行
net stop RabbitMQ && net start RabbitMQ
第二步:我们使用rabbitmqctl控制台命令创建用户和密码,设置权限等等操作
1.查看rabbitmq的用户列表,可以看到只有一个guest 权限是administrator
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.bat list_users
Listing users ...
guest [administrator]
...done.
2.添加用户
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.bat add_user guan 1230
Creating user "guan" ...
...done.
查看用户,已经添加进来,权限为空
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.bat list_users
Listing users ...
guan []
guest [administrator]
...done.
然后为刚才添加的用户设置权限
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.bat set_user_tags guan administrator
Setting tags for user "guan" to [administrator] ...
...done.
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.bat set_permissions -p / guan ".*" ".*" ".*"
Setting permissions for user "guan" in vhost "/" ...
...done.
查看刚才添加设置的用户,guan 这个用户已经设置了权限 administrator
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.bat list_users
Listing users ...
guan [administrator]
guest [administrator]
...done.
第三步:使用浏览器打开http://localhost:15672 访问Rabbit Mq的管理控制台,使用刚才创建的账号登陆系统:如图管理界面

第四步:代码发送消息 模拟发送十条消息进入rabbitMq,控制台,引用RabbitMQ.Client.dll
static void Main(string[] args)
{
var factory = new ConnectionFactory();
factory.HostName = "localhost";
factory.UserName = "guan";
factory.Password = "zj1230"; using (var connection = factory.CreateConnection())
{
using (var channel = connection.CreateModel())
{
channel.QueueDeclare("hello", false, false, false, null); for (int i = ; i < ; i++)
{
string message = "Hello World"+i;
var body = Encoding.UTF8.GetBytes(message);
channel.BasicPublish("", "hello", null, body);
Console.WriteLine(" set {0}", message); } }
} Console.ReadLine(); }
这里讲一下我遇到的问题,不是代码的问题,是引用的问题,一定注意版本,RabbitMQ.Client.dll的版本最新net4.5,如果你用的vs210
只装了.net4.0那他一直会连接不成功,提示什么Address.IPV6错误,所以注意版本和你的vs对应哦
发送完毕,既可以访问http://localhost:15672,只管看到队列有10消息,
第五步:那就是接受端,也用一个控制台,接受
static void Main(string[] args)
{
var factory = new ConnectionFactory();
factory.HostName = "localhost";
factory.UserName = "guan";
factory.Password = "zj1230"; using (var connection = factory.CreateConnection())
{
using (var channel = connection.CreateModel())
{
channel.QueueDeclare("hello", false, false, false, null); var consumer = new QueueingBasicConsumer(channel);
channel.BasicConsume("hello", true, consumer); Console.WriteLine(" waiting for message.");
while (true)
{
var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue(); var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
Console.WriteLine("Received {0}", message); }
}
}
你在控制台上就可以看到刚才发送的10条消息数据
再去访问http://localhost:15672,去看队列消息,已经显示为0
至于linnux下面部署,以后再说吧,还有集群的,暂时用不到,各位参考网上其它资料吧,写这个不为别的,只是为了下次自己记得如何配置,也方便一些入门想学习的参考吧,
RabbitMQ在window的搭建的更多相关文章
- RabbitMQ(一):Window安装RabbitMQ
原文:RabbitMQ(一):Window安装RabbitMQ 1.安装ERLANG语言环境 由于RabbitMQ是采用Erlang编写的,因此我们需要先安装该语言库,以便运行代理服务器.从Erlan ...
- Window下搭建foundation apps环境
Window下搭建foundation apps环境 框架:AngularJS.Foundation, 构建工具:Gulp, 开发环境:node.js. 操作系统:windows (一)环境准备 1 ...
- RabbitMQ入门教程(十四):RabbitMQ单机集群搭建
原文:RabbitMQ入门教程(十四):RabbitMQ单机集群搭建 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...
- RabbitMQ集群环境搭建-4
确保成功安装好JDK,erlang,RabbitMQ等,并且RabbitMQ能正常启动,多台电脑之间能互相ping得通. 1. 安装 erlang.rabbitmq 如: 192.168.1.1.19 ...
- Window平台搭建Redis分布式缓存集群 (一)server搭建及性能測试
百度定义:Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对很多其它.包含string(字符串).list(链表).set(集合).zset(sort ...
- window环境搭建zookeeper,kafka集群
为了演示集群的效果,这里准备一台虚拟机(window 7),在虚拟机中搭建了单IP多节点的zookeeper集群(多IP节点的也是同理的),并且在本机(win 7)和虚拟机中都安装了kafka. 前期 ...
- rabbitmq之基本原理及搭建单机环境
1.RabbitMQ基本原理 1.MQ全称Message Queue,是一种分布式应用程序的通信方法,是消费-生产者模型的典型代表,producer向消息队列中不断写入消息,而另一端consumer则 ...
- 【rabbitmq】rabbitmq集群环境搭建
安装rabbitmq-server 总共有3台虚拟机,都安装有rabbitmq服务,安装过程可参考: [rabbitmq]Centos7 下安装rabbitmq 创建用户和vhost 说明: 此步骤不 ...
- RabbitMQ:Docker环境下搭建rabbitmq集群
RabbitMQ作为专业级消息队列:如何在微服务框架下搭建 使用组件 文档: https://github.com/bijukunjummen/docker-rabbitmq-cluster 下载镜像 ...
随机推荐
- 16101301(MaterialLOD QualitySwitch)
[目标] MaterialLOD QualitySwitch [思路] 1 QualitySwitch UE4有三挡 UE3 2 现在UE3需要添加三挡 3 UE3 class UMaterialEx ...
- PL/SQL设置快捷键
PL/SQL常用的快捷方式: sf= select * from sr=select t.*,t.rowid from t sd = select distinct * from d=delete f ...
- IHttpHandler给图片加水印
/// <summary> /// WaterMarkHandlher 的摘要说明 /// </summary> public class WaterMarkHandlher ...
- Bootstrap <基础二十二>超大屏幕(Jumbotron)
Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: ...
- Python Day03
set Collections系列: Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几 ...
- JavaScript 闭包系列一
一. 闭包的概念 闭包是有权访问另一个函数作用域中的变量的函数. 如下代码:根据变量作用域,函数outer中所有的局部变量对函数inner都是可见的.但是反过来不行,inner内部的局部变量对oute ...
- Add listitem with javascript 分类: Sharepoint 2015-07-16 20:23 4人阅读 评论(0) 收藏
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', createListItem);//makes sure sp.js is loaded and the ...
- 【转】 linux 下Time_wait过多问题解决
问题起因: 自己开发了一个服务器和客户端,通过短连接的方式来进行通讯,由于过于频繁的创建连接,导致系统连接数量被占用,不能及时释放.看了一下18888,当时吓到了. 现象: 1.外部机器不能正常连接S ...
- 【转】Memcached安装
解析:Memcached是什么? Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度. 一.软件版本 ...
- 009-Scala的内部类实战详解
009-Scala的内部类实战详解 Scala内部类详解 与java的区别 java的内部类是从属于外部类的 Scala的内部类是从属于对象的 内部类在调用方法的时候传递的内部类只能是由自己本身 欢迎 ...