validationrabbitmq的版本

如何validationrabbitmq的哪个版本在服务器上运行?

有没有一个命令来validation这个?

sudo rabbitmqctl状态

并寻找这样的线:

{兔, “RabbitMQ的”, “2.6.1”},

你可以简单地从commandilne执行:

sudo rabbitmqctl状态| grep兔子

正如Marek在本地服务器上所说的,或者在远程服务器上(使用amqplib ) 所说的那样 :

from amqplib import client_0_8 as amqp import sys conn = amqp.Connection(host=sys.argv[1], userid="guest", password="guest", virtual_host="/", insist=False) for k, v in conn.server_properties.items(): print k, v 

保存为checkVersion.py并使用python checkVersion.py dev.rabbitmq.com运行:

 % python checkVersion.py dev.rabbitmq.com information Licensed under the MPL. See http://www.rabbitmq.com/ product RabbitMQ copyright Copyright (C) 2007-2011 VMware, Inc. capabilities {} platform Erlang/OTP version 2.6.0 

如果rabbitimq无法启动,我发现唯一的方法来确定版本是通过安装程序系统。

Eample Debian / Ubuntu:

 dpkg -s rabbitmq-server | grep Version 

因为我正在用C#在Windows机器上做这个工作,所有当前的答案都是针对* nix的,所以我会发布我最终使用的代码:

  public string GetRabbitMqVersion() { string prefix = "rabbitmq_server-"; var dirs = System.IO.Directory.EnumerateDirectories(@"C:\Program Files (x86)\RabbitMQ Server", string.Format("{0}*",prefix)); foreach (var dir in dirs) { //Just grab the text after 'rabbitmq_server-' and return the first item found var i = dir.LastIndexOf(prefix); return dir.Substring(i+16); } return "Unknown"; } 

使用C#获取RMQ版本

 using (var connection = connectionFactory.CreateConnection()) { if (connection.ServerProperties.ContainsKey("version")) Console.WriteLine("Version={0}", Encoding.UTF8.GetString((byte[])connection.ServerProperties["version"])); } 

输出:

版本3.6.3 =

在使用“pipe理”(web)插件的可能事件中,RabbitMQ版本与Erlang运行时版本一起出现在每个网页的右上angular。