溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Windows下安裝RabbitMQ服務(wù)器和配置的教程

發(fā)布時間:2021-06-23 12:04:51 來源:億速云 閱讀:125 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“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

安裝Erlang 時要注意安裝的RabbityMQ 所依賴的Erlang版本,根據(jù)RabbitMQ的要求選擇一個版本,這里我要安裝的RabbitMQ的版本是 3.7.7 ,他依賴的Erlang版本范圍是

19.3.6.4 到 21.0.x,因此我選擇版本是OTP 20.3. Erlang下載地址。下載Erlang安裝包后直接安裝就可以了。

設(shè)置ERLANG_HOME 環(huán)境變量

Windows下安裝RabbitMQ服務(wù)器和配置的教程

我這里是默認(rèn)安裝所以Erlang的安裝路徑在:

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

點擊確定在系統(tǒng)環(huán)境變量里就增加剛剛添加的ERLANG_HOME

Windows下安裝RabbitMQ服務(wù)器和配置的教程

注意:如果之前安裝了Erlang的其他版本,需要卸載后在進(jìn)行重新安裝和設(shè)置。

在開始菜單查找Erlang,點擊啟動 打開如下界面,那么Erlang就安裝成功了。接下來就安裝RabbitMQ。

Windows下安裝RabbitMQ服務(wù)器和配置的教程

安裝RabbitMQ

可以在RabbitMQ的官方網(wǎng)站下載最新版本的RabbitMQ服務(wù)器安裝程序,RabbitMQ下載地址, 這里我下載的是官方推薦的最新版本rabbitmq-server-3.7.7.exe, 然后點擊默認(rèn)安裝。

RabbitMQ安裝好后是作為windows service 運行在后臺。

Windows下安裝RabbitMQ服務(wù)器和配置的教程

設(shè)置RabbitMQ環(huán)境變量

RabbitMQ 安裝好后在開始菜單輸入rabbitmq 會看到三個菜單:

Windows下安裝RabbitMQ服務(wù)器和配置的教程

這里的三個菜單是提供控制Windows service的命令,為了能夠在任意Windows命令窗口上操控RabbitMQ服務(wù)需要在系統(tǒng)里加一個環(huán)境變量并且配置在系統(tǒng)的PHTH環(huán)境變量中。

首先添加一個RABBITQM_SERVER變量:

Windows下安裝RabbitMQ服務(wù)器和配置的教程

然后在系統(tǒng)的path變量中配置如下:

Windows下安裝RabbitMQ服務(wù)器和配置的教程

這樣就可以在windows administrator啟動的CMD窗口操控RabbitMQ服務(wù)了。不需要每次都定位到:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.7\sbin>

安裝 rabbitmq_management

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

C:\WINDOWS\system32>rabbitmq-plugins list

看到RabbtitMQ 羅列出來了很多插件

Windows下安裝RabbitMQ服務(wù)器和配置的教程

我們用下列命令安裝rabbitmq_management插件,這款插件是可以可視化的方式查看RabbitMQ 服務(wù)器實例的狀態(tài),以及操控RabbitMQ服務(wù)器。

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

運行完命令后,看到下圖表示安裝成功了。

Windows下安裝RabbitMQ服務(wù)器和配置的教程

現(xiàn)在我們在瀏覽器中輸入:http://localhost:15672 可以看到一個登錄界面:

Windows下安裝RabbitMQ服務(wù)器和配置的教程

這里可以使用默認(rèn)賬號guest/guest登錄后的界面如下:

Windows下安裝RabbitMQ服務(wù)器和配置的教程

在瀏覽器中輸入 http://localhost:15672/api/ 就可以看到 RabbitMQ Management HTTP API 文檔,如下圖:

Windows下安裝RabbitMQ服務(wù)器和配置的教程

這樣就可以查看RabbitMQ server實例狀態(tài)的相關(guān)信息了。

管理rabbitmq_management的用戶

用命令rabbitmqctl list_users 查看一下現(xiàn)rabbitmq_management注冊用戶

Windows下安裝RabbitMQ服務(wù)器和配置的教程

發(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)建成功了:

Windows下安裝RabbitMQ服務(wù)器和配置的教程

現(xiàn)在看下有多少用戶,跑一下命令:

rabbitmqctl list_users

Windows下安裝RabbitMQ服務(wù)器和配置的教程

發(fā)現(xiàn)用戶列表里多了一個用戶 rabbit1,但是tag是空的。使用命令給rabbit設(shè)置tag,設(shè)置tag的命令格式:

rabbitmqctl set_user_tag [tag1] [tag2] ...

一次可以給一個用戶設(shè)置多個tag,也可以設(shè)置一個

Windows下安裝RabbitMQ服務(wù)器和配置的教程

現(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。

Windows下安裝RabbitMQ服務(wù)器和配置的教程

其實有了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ā)送消息,一個用于接收消息。

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();
            }
        }
    }
}

運行輸入消息效果如下:

Windows下安裝RabbitMQ服務(wù)器和配置的教程

總結(jié):

關(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)注!

向AI問一下細(xì)節(jié)

免責(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)容。

AI