RabbitMQ: 验证 RabbitMQ 的版本

如何验证 Rabbitmq 的哪个版本在服务器上运行?

是否有验证 rabbitmq 正在运行的命令?

109877 次浏览

Sudo rabbitmqctl 状态

看看有没有这样的线条:

{ Rabbit,“ RabbitMQ”,“2.6.1”} ,

就像 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

您可以简单地从命令行执行:

sudo rabbitmqctl status | grep rabbit

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

例如 Debian/Ubuntu:

dpkg -s rabbitmq-server | grep Version

因为我想在 Windows 机器上用 C # 做这件事,而当前所有的答案都是 * 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";
}

如果您正在使用“ management”(web)插件,RabbitMQ 版本将出现在每个 Web 页面的右上角,同时出现的还有 Erlang 运行时版本。

要使用 .NET/C # RabbitMQ 客户端库获得 RabbitMQ 版本:

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

产出:

Version = 3.6.3版本 = 3.6.3

登录到管理用户界面,在右上角你可以找到版本。还可以使用以下命令查找版本

# sudo bash

# rabbitmqctl status | grep rabbit

在 Debian 系统上,你只需要运行:

dpkg-query --showformat='${Version}' --show rabbitmq-server

我使用以下命令将输出削减到版本,

rabbitmqctl status | grep "{rabbit,\"RabbitMQ\""

产出:

  {rabbit,"RabbitMQ","3.7.3"},

如果您无法访问 rabbitmqctl 或 rabbitmq-server 没有运行,在 linux 上可以:

ls /usr/lib/rabbitmq/lib/

我有:

rabbitmq_server-3.5.6

在 Centos 上你可以使用 yum list rabbitmq-server