温馨提示×

rabbitmq队列持久化centos如何配置

小樊
42
2025-08-24 18:12:54
栏目: 智能运维

在CentOS上配置RabbitMQ队列持久化,需要确保RabbitMQ服务已正确安装并运行。以下是详细的步骤指南:

1. 安装RabbitMQ

首先,确保你的CentOS系统已经安装了Erlang,因为RabbitMQ是用Erlang编写的。

sudo yum install -y erlang 

然后,添加RabbitMQ的官方YUM仓库:

echo "[rabbitmq-server] name=rabbitmq-server baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey" | sudo tee /etc/yum.repos.d/rabbitmq.repo 

更新YUM缓存并安装RabbitMQ服务器:

sudo yum clean all sudo yum install rabbitmq-server 

启动RabbitMQ服务并设置开机自启:

sudo systemctl start rabbitmq-server sudo systemctl enable rabbitmq-server 

2. 配置RabbitMQ队列持久化

2.1 创建持久化队列

在RabbitMQ中,你可以通过声明队列时设置durable参数为true来创建一个持久化队列。

使用RabbitMQ的管理界面或命令行工具rabbitmqadmin来创建持久化队列。

使用命令行工具:

rabbitmqadmin declare queue name=my_durable_queue durable=true 

使用管理界面:

  1. 打开RabbitMQ管理界面(默认地址是http://<your_server_ip>:15672/,默认用户名和密码是guest/guest)。
  2. 导航到“Queues”部分。
  3. 点击“Add a new queue”。
  4. 在“Name”字段中输入队列名称,例如my_durable_queue
  5. 勾选“Durable”选项。
  6. 点击“Add Queue”。

2.2 发送持久化消息

在发送消息时,你需要设置消息的delivery_mode为2,表示消息是持久化的。

使用命令行工具:

rabbitmqadmin publish routing_key=my_durable_queue payload="Hello, World!" properties='{"delivery_mode": 2}' 

使用编程语言客户端:

以Python为例,使用pika库:

import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() # 声明一个持久化队列 channel.queue_declare(queue='my_durable_queue', durable=True) # 发送持久化消息 channel.basic_publish(exchange='', routing_key='my_durable_queue', body='Hello, World!', properties=pika.BasicProperties(delivery_mode=2)) connection.close() 

3. 验证配置

确保队列和消息都已正确持久化:

  1. 使用管理界面查看队列列表,确认my_durable_queue存在且状态为“Ready”。
  2. 检查消息是否已成功发送到队列中。

通过以上步骤,你应该能够在CentOS上成功配置RabbitMQ队列持久化。如果有任何问题,请检查RabbitMQ服务器日志以获取更多信息。

0