• <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年3月>
            2627281234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678


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

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 215465
            • 排名 - 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
            亚洲精品乱码久久久久久按摩 | 久久精品国产99久久久| 99精品久久久久久久婷婷| 国产精品9999久久久久| 国产亚州精品女人久久久久久| 久久久WWW成人免费精品| 国产精品久久久久免费a∨| 国内精品久久久久影院一蜜桃| 精品久久久久久亚洲| 色婷婷狠狠久久综合五月| 亚洲中文字幕无码一久久区| 久久精品人人做人人爽电影| 欧美国产成人久久精品| 久久久久高潮毛片免费全部播放| 欧美亚洲另类久久综合| 久久久一本精品99久久精品88| 国产日韩久久免费影院| 久久亚洲精品人成综合网| 女同久久| 久久av高潮av无码av喷吹| 国产亚洲欧美成人久久片| 久久热这里只有精品在线观看| 97超级碰碰碰碰久久久久| 久久精品夜夜夜夜夜久久| 成人综合久久精品色婷婷| 久久精品免费大片国产大片| 国产精品久久网| 久久久噜噜噜久久中文福利| 久久久高清免费视频| 久久丝袜精品中文字幕| 国产日韩久久久精品影院首页| 久久精品成人免费网站| 久久精品毛片免费观看| 亚洲狠狠婷婷综合久久久久 | 91亚洲国产成人久久精品| 人妻无码中文久久久久专区 | 国产成人久久精品一区二区三区| 国内精品久久久久影院薰衣草| 奇米影视7777久久精品人人爽| 久久男人中文字幕资源站| 国产精品热久久无码av|