rabbitmq 命令&& rabbitmq教程(一)


先來個官方教程

http://www.rabbitmq.com

 

在windows 下 命名 去掉sudo 我是在windows下測試 用net調用

常用命令

控制台命令:sudo rabbitmqctl#只能在root權限下使用

本地節點默認被命名為”rabbit”。可以通過這個命令前使 用”-n”標志明確的指定節點名稱, 例如:  

sudo rabbitmqctl -n rabbit@hostname **** 控制台命令

啟動:sudo rabbitmq-server start

啟動應用:sudo  rabbitmqctl start_app

停止應用:sudo rabbitmqctl stop_app

停止rabbitmq:sudo rabbitmqctl stop

顯示RabbitMQ中間件各種信息:sudo rabbitmqctl status

重置RabbitMQ節點:
sudo rabbitmqctl reset

sudo rabbitmqctl force_reset

 

用戶管理
添加用戶
sudo rabbitmqctl add_user username password
刪除用戶
sudo rabbitmqctl delete_user username
修改密碼
sudo rabbitmqctl change_password username newpassword

列出所有用戶

 

sudo rabbitmqctl list_users  
創建虛擬主機
sudo rabbitmqctl add_vhost vhostpath

刪除虛擬主機

sudo rabbitmqctl delete_vhost vhostpath

列出所有虛擬主機
sudo rabbitmqctl list_vhosts
設置用戶權限

sudo rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp

example:sudo rabbitmqctl set_permissions -p vhostname testuser ".*" ".*" ".*"

清除用戶權限
sudo rabbitmqctl clear_permissions [-p vhostpath] username
列出虛擬主機上的所有權限
sudo rabbitmqctl list_permissions [-p vhostpath]
列出用戶權限

sudo rabbitmqctl list_user_permissions username

列出全部隊列,exchanger,binder

sudo rabbitmqctl  list_queues [-p <vhostpath>] [<queueinfoitem> ...]
   list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]
   list_bindings [-p <vhostpath>] [<bindinginfoitem> ...]
   list_connections [<connectioninfoitem> ...]
   list_channels [<channelinfoitem> ...]
   list_consumers [-p <vhostpath>]

 

環境搭建

環境還是簡單的說下

1、從官方下載http://www.rabbitmq.com/download.html 服務版本

2、沒有erlang需要下載http://www.erlang.org/download.html

3、啟動服務

4、驗證是否成功

sudo rabbitmqctl status

簡單消息(Hello World)

發送消息

static void Main(string[] args)
        {
            var factory = new ConnectionFactory();
            factory.HostName = "Localhost";
            factory.UserName = "shuzhengyi";
            factory.Password = "shuzhengyi";

            while (true)
            {
                using (var connection = factory.CreateConnection())
                {
                    using (var channel = connection.CreateModel())
                    {
                        channel.QueueDeclare("hello", false, false, false, null);
                        string message = "Hello World";
                        var body = Encoding.UTF8.GetBytes(message);
                        channel.BasicPublish("", "hello", null, body);
                        Console.WriteLine(" set {0}", message);
                        Console.ReadLine();
                    }
                }
            }           
        }

 

接受消息

public static void Main()
        {
            var factory = new ConnectionFactory() { HostName = "localhost" };
            factory.UserName = "shuzhengyi";
            factory.Password = "shuzhengyi";
            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare("hello", false, false, false, null);

                    var consumer = new QueueingBasicConsumer(channel);
                    channel.BasicConsume("hello", true, consumer);

                    Console.WriteLine(" [*] Waiting for messages." +
                                             "To exit press CTRL+C");
                    while (true)
                    {
                        var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();

                        var body = ea.Body;
                        var message = Encoding.UTF8.GetString(body);
                        Console.WriteLine(" [x] Received {0}", message);
                    }
                }
            }
        }

 

運行結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM