RabbitMQ在window的搭建

RabbitMq window 搭建設置過程,網上有些說的不太明白,因此親自操刀測試過程,參考了不少人的資料,多謝各位大神的寶貴資料
第一步:裝RabbitMq運行環境,相似一個虛擬機的東東
1.otp_win32_19.0.exe 下載地址:https://www.erlang.org/ 分32位和64位根據我的系統安裝不一樣的,這地址是國外的,貌似的FQ (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)windows

這裏裝完必定要去本身電腦:開始->控制面板->系統->高級系統設置->設置環境變量
必定是系統變量,添加變量名: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 = 0; i < 10; 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消息,
第五步:那就是接受端,也用一個控制檯,接受spa

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.net

 至於linnux下面部署,之後再說吧,還有集羣的,暫時用不到,各位參考網上其它資料吧,寫這個不爲別的,只是爲了下次本身記得如何配置,也方便一些入門想學習的參考吧,插件

相關文章
相關標籤/搜索