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。