Làm cách nào để xác minh phiên bản nào của rabbitmq đang chạy trên máy chủ?
Có một lệnh để xác minh rằng rabbitmq đang chạy?
Làm cách nào để xác minh phiên bản nào của rabbitmq đang chạy trên máy chủ?
Có một lệnh để xác minh rằng rabbitmq đang chạy?
Câu trả lời:
tình trạng sudo rabbitmqctl
và tìm dòng giống như thế:
{thỏ, "RabbitMQ", "2.6.1"},
Bạn chỉ có thể thực hiện từ dòng lệnh:
sudo rabbitmqctl status | grep rabbit
3.8.4
, chuỗi tìm kiếm tốt hơn sudo rabbitmqctl status | grep -i "version"
.
Nếu rabbitimq không thể khởi động, tôi tìm thấy cách duy nhất để xác định phiên bản là thông qua hệ thống cài đặt.
Lấy mẫu Debian / Ubuntu:
dpkg -s rabbitmq-server | grep Version
yum list rabbitmq-server
cho Rhel / Centos / Fedora
Như Marek đã nói trên một máy chủ cục bộ, hoặc, trên một máy chủ từ xa (sử dụng 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
Lưu dưới dạng checkVersion.py
và chạy với 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
Nếu bạn không có quyền truy cập vào rabbitmqctl hoặc rabbitmq-server không chạy, trên linux hãy:
ls /usr/lib/rabbitmq/lib/
Tôi đã nhận :
rabbitmq_server-3.5.6
Vì tôi đang tìm cách thực hiện điều này trong C # trên máy Windows và tất cả các câu trả lời hiện tại là dành cho * nix, tôi sẽ đăng mã mà cuối cùng tôi đã sử dụng:
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ó phiên bản RMQ bằng C #
using (var connection = connectionFactory.CreateConnection())
{
if (connection.ServerProperties.ContainsKey("version"))
Console.WriteLine("Version={0}",
Encoding.UTF8.GetString((byte[])connection.ServerProperties["version"]));
}
Đầu ra:
Phiên bản = 3.6.3
Tôi sử dụng lệnh sau để cắt đầu ra xuống phiên bản,
rabbitmqctl status | grep "{rabbit,\"RabbitMQ\""
Đầu ra:
{rabbit,"RabbitMQ","3.7.3"},
Đăng nhập vào quản lý ui và trên cùng bên phải, bạn có thể tìm thấy phiên bản. Cũng sử dụng lệnh sau để tìm phiên bản
# sudo bash
# rabbitmqctl status | grep rabbit