debian

Debian RabbitMQ如何安装与配置

小樊
45
2025-05-12 17:46:34
栏目: 智能运维

在Debian系统上安装和配置RabbitMQ的步骤如下:

安装Erlang

首先,确保系统中已安装Erlang,因为RabbitMQ是使用Erlang语言编写的,它的运行需要依赖Erlang环境。对于基于Debian的系统,可以使用以下命令安装Erlang:

sudo apt-get update
sudo apt-get install -y erlang-nox

安装RabbitMQ

接下来,安装RabbitMQ服务器。可以通过添加官方存储库来安装最新版本的RabbitMQ:

  1. 添加RabbitMQ官方仓库的密钥:
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg /dev/null
  1. 添加RabbitMQ仓库源到系统源列表中:
echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-server/ubuntu focal main" | sudo tee -a /etc/apt/sources.list.d/rabbitmq.list

注意:这里的 focal 是Ubuntu的版本代号,如果你的系统是其他版本,请相应地进行替换。

  1. 更新系统源并安装RabbitMQ:
sudo apt-get update
sudo apt-get install -y rabbitmq-server

启动和配置RabbitMQ

  1. 启动RabbitMQ服务:
sudo systemctl start rabbitmq-server
  1. 查看RabbitMQ服务状态:
sudo systemctl status rabbitmq-server

如果服务正常启动,你应该能够看到类似 Active: active (running) 的状态信息。

  1. 启用RabbitMQ管理插件(可选,但推荐):
sudo rabbitmq-plugins enable rabbitmq_management

这个插件提供了一个基于Web的管理界面,可以方便地管理RabbitMQ服务器。重启RabbitMQ服务以使插件生效:

sudo systemctl restart rabbitmq-server
  1. 访问管理界面:

默认情况下,管理界面可以通过 http://服务器IP地址:15672 访问。使用默认的用户名和密码登录,用户名是 guest,密码也是 guest。请注意,在生产环境中,应该及时修改默认的用户名和密码以提高安全性。

配置高可用性(可选)

  1. 配置Erlang Cookie

在每个RabbitMQ服务器上设置相同的Erlang Cookie,以确保节点可以相互通信。通常在 /var/lib/rabbitmq/.erlang.cookie 文件中设置。

echo "cookie_value" | sudo tee /var/lib/rabbitmq/.erlang.cookie
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
  1. 启动RabbitMQ节点

在每个服务器上启动RabbitMQ服务。

sudo systemctl start rabbitmq-server
  1. 形成集群

使用 rabbitmqctl 命令行工具将节点加入集群。例如:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
  1. 配置镜像队列

为了确保消息的高可用性,可以设置队列镜像。这样,队列的消息会在多个节点上进行复制。例如:

sudo rabbitmqctl set_policy ha-all "^my_queue$" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

0
看了该问题的人还看了