• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Fork me on GitHub
            隨筆 - 215  文章 - 13  trackbacks - 0
            <2017年1月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234


            專注即時通訊及網游服務端編程
            ------------------------------------
            Openresty 官方模塊
            Openresty 標準模塊(Opm)
            Openresty 三方模塊
            ------------------------------------
            本博收藏大部分文章為轉載,并在文章開頭給出了原文出處,如有再轉,敬請保留相關信息,這是大家對原創作者勞動成果的自覺尊重!!如為您帶來不便,請于本博下留言,謝謝配合。

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 215511
            • 排名 - 118

            最新評論

            閱讀排行榜

            http://www.centoscn.com/image-text/install/2017/0206/8437.html
            第一、下載erlang和rabbitmq-server的rpm:

            http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

            http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

            注:如果遇到下載緩慢,可以嘗試使用百度云盤的離線下載

            然后,把下載的rpm文件都放到一個文件夾中,方便安裝

            第二、安裝erlang:

              rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm

              測試是否安裝成功:

            第三、安裝rabbitmq:

                rpm -ivh rabbitmq-server-3.6.6-1.el7.noarch.rpm

              在安裝rabbitmq時提示依賴socat

                 yum install socat

              然后再次安裝rabbitmq

            第四、啟動和關閉:

            /sbin/service rabbitmq-server stop #關閉

            /sbin/service rabbitmq-server start #啟動

            /sbin/service rabbitmq-server status #狀態

            第五、cd 到/sbin目錄下:

            ./rabbitmq-plugins list

            ./rabbitmqctl status

            第六、其他

            運行如下的命令,增加用戶admin,密碼admin

            [root@localhost sbin]# ./rabbitmqctl add_user admin admin 
            Creating user “admin” … 
            …done. 
            [root@localhost sbin]# ./rabbitmqctl set_user_tags admin administraotr 
            Setting tags for user “admin” to [administraotr] … 
            …done. 
            [root@localhost sbin]# ./rabbitmqctl list_users 
            Listing users … 
            admin [administraotr] 
            guest [administrator] 
            …done.

            http://www.cnblogs.com/uptothesky/p/6094357.html

            在CentOS7上安裝RabbitMQ

            安裝過程參考官網:

            Installing on RPM-based Linux (RHEL, CentOS, Fedora, openSUSE)

            首先需要安裝erlang,參考:http://fedoraproject.org/wiki/EPEL/FAQ#howtouse

            rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
            yum install erlang

            安裝過程中會有提示,一路輸入“y”即可。

            完成后安裝RabbitMQ:

            先下載rpm:

            wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

            下載完成后安裝:

            yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm 

            完成后啟動服務:

            service rabbitmq-server start

            可以查看服務狀態:

            service rabbitmq-server status

            這里可以看到log文件的位置,轉到文件位置,打開文件:

            這里顯示的是沒有找到配置文件,我們可以自己創建這個文件

            cd /etc/rabbitmq/
            vi rabbitmq.config

            編輯內容如下:

            [{rabbit, [{loopback_users, []}]}].

            這里的意思是開放使用,rabbitmq默認創建的用戶guest,密碼也是guest,這個用戶默認只能是本機訪問,localhost或者127.0.0.1,從外部訪問需要添加上面的配置。

            保存配置后重啟服務:

            service rabbitmq-server stop
            service rabbitmq-server start

            此時就可以從外部訪問了,但此時再看log文件,發現內容還是原來的,還是顯示沒有找到配置文件,可以手動刪除這個文件再重啟服務,不過這不影響使用

            rm rabbit\@mythsky.log 
            service rabbitmq-server stop
            service rabbitmq-server start

             

            開放5672端口:

            firewall-cmd --zone=public --add-port=5672/tcp --permanent
            firewall-cmd --reload 

            在Windows上進行測試:

            新建.net core控制臺項目,引用RabbitMQ.Client包:

            Install-Package RabbitMQ.Client

            測試代碼:

            復制代碼
            public static void Main(string[] args)
                    {
                        ConnectionFactory factory = new ConnectionFactory();
                        factory.UserName = "guest";
                        factory.Password = "guest";
                        factory.VirtualHost = "/";
                        factory.HostName = "localhost";
                        //factory.HostName = "10.255.19.111";
                        try
                        {
                            IConnection conn = factory.CreateConnection();
                            IModel model = conn.CreateModel();
                            string exchangeName = "test";
                            string queueName = "testq";
                            string routingKey = "first";
            
                            model.ExchangeDeclare(exchangeName, ExchangeType.Direct);
                            model.QueueDeclare(queueName, false, false, false, null);
                            model.QueueBind(queueName, exchangeName, routingKey, null);
                            byte[] messageBodyBytes = System.Text.Encoding.UTF8.GetBytes("Hello, world!");
                            model.BasicPublish(exchangeName, routingKey, null, messageBodyBytes);
                            Console.WriteLine("message sended.");
            
                            bool noAck = false;
                            BasicGetResult result = model.BasicGet(queueName, noAck);
                            if (result == null)
                            {
                                Console.Write("no message.");
                            }
                            else
                            {
                                IBasicProperties props = result.BasicProperties;
                                byte[] body = result.Body;
                                model.BasicAck(result.DeliveryTag, false);
                                string message = System.Text.Encoding.UTF8.GetString(body);
                                Console.Write(message);
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.Write(ex.Message);
                        }
                    }
            復制代碼

             也可以使用官網的例子(這里更清晰):

            http://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html

            發送端:

            復制代碼
            using System;
            using RabbitMQ.Client;
            using System.Text;
            
            class Send
            {
                public static void Main()
                {
                    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);
            
                        string message = "Hello World!";
                        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 RabbitMQ.Client;
            using RabbitMQ.Client.Events;
            using System;
            using System.Text;
            
            class Receive
            {
                public static void Main()
                {
                    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",
                                             noAck: true,
                                             consumer: consumer);
            
                        Console.WriteLine(" Press [enter] to exit.");
                        Console.ReadLine();
                    }
                }
            }
            復制代碼

            在Windows上發送,在CentOS上接收,效果如圖:

             

            開啟管理UI:

            rabbitmq-plugins enable rabbitmq_management
            firewall-cmd --zone=public --add-port=15672/tcp --permanent
            firewall-cmd --reload

            在Windows下打開地址:

            http://10.255.19.111:15672

            用戶名和密碼都是 guest

            這樣就可以方便管理RabbitMQ了。


            posted on 2017-03-06 16:15 思月行云 閱讀(236) 評論(0)  編輯 收藏 引用 所屬分類: 分布式\MQ
            久久精品亚洲精品国产欧美| AV无码久久久久不卡网站下载| 日日狠狠久久偷偷色综合0| 欧美一级久久久久久久大片| 99热精品久久只有精品| 亚洲一区中文字幕久久| 99久久精品国产麻豆| 久久国产精品久久| 久久精品国产影库免费看| 久久青草国产手机看片福利盒子| 久久久这里只有精品加勒比| 欧美麻豆久久久久久中文| 久久免费国产精品| 人妻精品久久久久中文字幕| 国产精品久久久久久久久软件| 久久久久久久综合综合狠狠| 久久午夜综合久久| 一极黄色视频久久网站| 久久狠狠爱亚洲综合影院| 色综合久久综合中文综合网| 久久精品成人国产午夜| 久久精品亚洲男人的天堂| 伊人久久大香线焦AV综合影院| 亚洲精品乱码久久久久久久久久久久 | 久久亚洲国产最新网站| 久久国产视屏| 中文国产成人精品久久不卡 | 久久99精品久久久久久hb无码| 999久久久免费精品国产| 亚洲国产二区三区久久| 久久免费视频一区| 亚洲国产精品无码久久SM| 蜜桃麻豆www久久| 99久久这里只精品国产免费| 女人香蕉久久**毛片精品| 伊人精品久久久久7777| 天天综合久久久网| 亚洲中文字幕无码久久综合网| 久久久久一本毛久久久| 日产精品久久久一区二区| 久久久久国产一级毛片高清板|