首页 技术 正文
技术 2022年11月12日
0 收藏 510 点赞 4,867 浏览 3372 个字

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,会有如下截图,点开它自动打开

RabbitMQ在window的搭建
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在window的搭建
第四步:代码发送消息 模拟发送十条消息进入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下面部署,以后再说吧,还有集群的,暂时用不到,各位参考网上其它资料吧,写这个不为别的,只是为了下次自己记得如何配置,也方便一些入门想学习的参考吧,

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295