您好,登錄后才能下訂單哦!
這篇文章主要講解了“Windows下安裝RabbitMQ服務(wù)器和配置的教程”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Windows下安裝RabbitMQ服務(wù)器和配置的教程”吧!
RabbitMQ是一個在AMQP協(xié)議標(biāo)準(zhǔn)基礎(chǔ)上完整的,可復(fù)用的企業(yè)消息系統(tǒng)。它遵循Mozilla Public License開源協(xié)議,采用 Erlang 實現(xiàn)的工業(yè)級的消息隊列(MQ)服務(wù)器,Rabbit MQ 是建立在Erlang OTP平臺上。
裝RabbitMQ服務(wù)器必須首先安裝 Erlang 運行環(huán)境。
安裝Erlang 時要注意安裝的RabbityMQ 所依賴的Erlang版本,根據(jù)RabbitMQ的要求選擇一個版本,這里我要安裝的RabbitMQ的版本是 3.7.7 ,他依賴的Erlang版本范圍是
19.3.6.4 到 21.0.x,因此我選擇版本是OTP 20.3. Erlang下載地址。下載Erlang安裝包后直接安裝就可以了。
我這里是默認(rèn)安裝所以Erlang的安裝路徑在:
C:\Program Files\erl9.3\bin\erl.exe
點擊確定在系統(tǒng)環(huán)境變量里就增加剛剛添加的ERLANG_HOME
注意:如果之前安裝了Erlang的其他版本,需要卸載后在進(jìn)行重新安裝和設(shè)置。
在開始菜單查找Erlang,點擊啟動 打開如下界面,那么Erlang就安裝成功了。接下來就安裝RabbitMQ。
可以在RabbitMQ的官方網(wǎng)站下載最新版本的RabbitMQ服務(wù)器安裝程序,RabbitMQ下載地址, 這里我下載的是官方推薦的最新版本rabbitmq-server-3.7.7.exe, 然后點擊默認(rèn)安裝。
RabbitMQ安裝好后是作為windows service 運行在后臺。
RabbitMQ 安裝好后在開始菜單輸入rabbitmq 會看到三個菜單:
這里的三個菜單是提供控制Windows service的命令,為了能夠在任意Windows命令窗口上操控RabbitMQ服務(wù)需要在系統(tǒng)里加一個環(huán)境變量并且配置在系統(tǒng)的PHTH環(huán)境變量中。
首先添加一個RABBITQM_SERVER變量:
然后在系統(tǒng)的path變量中配置如下:
這樣就可以在windows administrator啟動的CMD窗口操控RabbitMQ服務(wù)了。不需要每次都定位到:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.7\sbin>
我們用命令查看一下RabbtitMQ的所有插件:
C:\WINDOWS\system32>rabbitmq-plugins list
看到RabbtitMQ 羅列出來了很多插件
我們用下列命令安裝rabbitmq_management插件,這款插件是可以可視化的方式查看RabbitMQ 服務(wù)器實例的狀態(tài),以及操控RabbitMQ服務(wù)器。
C:\WINDOWS\system32>rabbitmq-plugins enable rabbitmq_management
運行完命令后,看到下圖表示安裝成功了。
現(xiàn)在我們在瀏覽器中輸入:http://localhost:15672 可以看到一個登錄界面:
這里可以使用默認(rèn)賬號guest/guest登錄后的界面如下:
在瀏覽器中輸入 http://localhost:15672/api/ 就可以看到 RabbitMQ Management HTTP API 文檔,如下圖:
這樣就可以查看RabbitMQ server實例狀態(tài)的相關(guān)信息了。
用命令rabbitmqctl list_users 查看一下現(xiàn)rabbitmq_management注冊用戶
發(fā)現(xiàn)現(xiàn)在只有一個用戶guest,并且它的tag是administrator.
那么在命令行下創(chuàng)建一個用戶,創(chuàng)建用戶的命令合是:
rabbitmqctl add_user [username] [password]
現(xiàn)在創(chuàng)建一個username=rabbit1 password=rabbit1的用戶, 命令如下:
rabbitmqctl add_user rabbit1 rabbit1
創(chuàng)建成功了:
現(xiàn)在看下有多少用戶,跑一下命令:
rabbitmqctl list_users
發(fā)現(xiàn)用戶列表里多了一個用戶 rabbit1,但是tag是空的。使用命令給rabbit設(shè)置tag,設(shè)置tag的命令格式:
rabbitmqctl set_user_tag [tag1] [tag2] ...
一次可以給一個用戶設(shè)置多個tag,也可以設(shè)置一個
現(xiàn)在rabbit1 有兩個tag了一個是administrator ,一個是none.
有5個tag可供選擇,分別是:administrator ,monitoring,policymaker,management和none 有興趣的同學(xué)可以到這里了解各個tag的含義,其實這里的tag代表的是權(quán)限,administrator是最高權(quán)限,none表示不能訪問,這里administrator和none的組合,權(quán)限應(yīng)該是向高看齊,忽略none,用的是administrator的權(quán)限。我們用rabbit1/rabbit1 登錄rabbitmq_management。
其實有了rabbitmq_management這個可視化插件,很多事情都可以在這個插件里干,包括創(chuàng)建用戶,創(chuàng)建交換機(jī)(Exchange)和創(chuàng)建隊列(Queque)。
關(guān)于Rabbit的在windows下的基本配置就告一段落,關(guān)于更多的更高級的配置,可以參考官網(wǎng),有了rabbitmq_management 插件確實方便了不少。下面就開始創(chuàng)建客戶端進(jìn)行測試了。
創(chuàng)建兩個.Net Core Console 類型的應(yīng)用程序,一個用于發(fā)送消息,一個用于接收消息。
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(); } } }
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(); } } } }
運行輸入消息效果如下:
關(guān)于RabbitMQ在windows 下的安裝和基本設(shè)置步驟:
1.安裝對應(yīng)版本的Erlang 并設(shè)置環(huán)境變量
2.安裝RabbitMQ
3.設(shè)置環(huán)境變量
4.安裝插件rabbitmq_management
5.有了插件rabbitmq_management很多事情就可以在這個可視化插件中來完成了。
感謝各位的閱讀,以上就是“Windows下安裝RabbitMQ服務(wù)器和配置的教程”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Windows下安裝RabbitMQ服務(wù)器和配置的教程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。