• <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
            一97日本道伊人久久综合影院| 999久久久免费精品国产| 久久夜色tv网站| 69久久精品无码一区二区| 久久国产高清字幕中文| 国产成人精品久久免费动漫| 99久久无码一区人妻| 91精品无码久久久久久五月天| 国产精品免费久久| 女人高潮久久久叫人喷水| 人妻无码αv中文字幕久久| 99精品久久精品一区二区| 色婷婷久久综合中文久久蜜桃av| 国产成人精品白浆久久69| 久久久久亚洲爆乳少妇无| 一本久久a久久精品亚洲| 国产一区二区三区久久精品| 欧美国产成人久久精品| 久久久久久久久无码精品亚洲日韩 | 青春久久| 久久丫精品国产亚洲av| 色婷婷噜噜久久国产精品12p| 亚洲av成人无码久久精品| 久久精品免费网站网| 久久免费的精品国产V∧| 亚洲精品午夜国产va久久| 99热成人精品免费久久| 亚洲αv久久久噜噜噜噜噜| 久久精品国产第一区二区| 久久精品国产91久久综合麻豆自制| 久久人妻AV中文字幕| 久久久久99精品成人片牛牛影视| 久久99亚洲网美利坚合众国| 综合久久精品色| 久久精品无码一区二区三区日韩| 久久久精品国产sm调教网站| 精品久久久无码人妻中文字幕| 久久精品人妻一区二区三区| 亚洲精品国产成人99久久| 久久精品国产99国产电影网| 久久男人Av资源网站无码软件|