售前咨询400-838-0503

如何在 Linux 服务器上搭建 RabbitMQ?

发布:2025-04-23 05:34

Linux服务器上搭建RabbitMQ消息队列的完整指南

RabbitMQ作为最受欢迎的开源消息代理软件之一,在现代分布式系统中扮演着重要角色。本文将详细介绍在Linux服务器上安装和配置RabbitMQ的全过程,包括环境准备、安装步骤、安全配置和基础使用。

一、环境准备

在开始安装RabbitMQ之前,需要确保您的Linux服务器满足以下要求:

  • 操作系统:支持主流Linux发行版(Ubuntu/CentOS/Debian等)
  • Erlang环境:RabbitMQ运行需要Erlang运行时支持
  • 权限要求:需要root或sudo权限
  • 系统资源:建议至少1GB内存

二、安装Erlang

RabbitMQ是用Erlang编写的,因此首先需要安装Erlang运行时环境。

在Ubuntu/Debian上安装

# 添加Erlang解决方案仓库
wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
sudo dpkg -i erlang-solutions_2.0_all.deb
sudo apt-get update

# 安装Erlang
sudo apt-get install -y erlang

在CentOS/RHEL上安装

# 添加EPEL仓库
sudo yum install -y epel-release

# 安装Erlang
sudo yum install -y erlang

三、安装RabbitMQ服务器

Ubuntu/Debian安装方法

# 添加RabbitMQ仓库签名密钥
curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -

# 添加RabbitMQ仓库
echo "deb https://dl.bintray.com/rabbitmq/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list

# 更新并安装RabbitMQ
sudo apt-get update
sudo apt-get install -y rabbitmq-server

CentOS/RHEL安装方法

# 添加RabbitMQ仓库
sudo tee /etc/yum.repos.d/rabbitmq.repo <

四、启动和管理RabbitMQ服务

# 启动服务
sudo systemctl start rabbitmq-server

# 设置开机自启
sudo systemctl enable rabbitmq-server

# 检查服务状态
sudo systemctl status rabbitmq-server

五、配置RabbitMQ

1. 启用管理插件

sudo rabbitmq-plugins enable rabbitmq_management

2. 创建管理员用户

# 创建用户
sudo rabbitmqctl add_user admin 你的密码

# 设置管理员权限
sudo rabbitmqctl set_user_tags admin administrator

# 设置访问权限
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

3. 防火墙配置

# 开放必要端口
sudo ufw allow 5672/tcp  # AMQP协议端口
sudo ufw allow 15672/tcp # 管理界面端口

六、访问RabbitMQ管理界面

安装配置完成后,您可以通过浏览器访问管理界面:

http://你的服务器IP:15672

使用之前创建的管理员账号登录即可。

七、常见问题解决

1. 端口冲突问题

如果5672或15672端口被占用,可以修改RabbitMQ配置文件:

# 编辑配置文件
sudo nano /etc/rabbitmq/rabbitmq.conf

# 添加以下内容修改端口
listeners.tcp.default = 5673
management.tcp.port = 15673

2. 内存不足问题

可以通过设置内存阈值来防止RabbitMQ消耗过多内存:

sudo rabbitmqctl set_vm_memory_high_watermark 0.6

八、基本使用示例

发送和接收消息

# 创建一个队列
rabbitmqadmin declare queue name=my_queue durable=true

# 发布一条消息
rabbitmqadmin publish exchange=amq.default routing_key=my_queue payload="Hello, RabbitMQ!"

# 获取消息
rabbitmqadmin get queue=my_queue count=1

至此,您已经在Linux服务器上成功搭建了RabbitMQ消息队列服务。下一步可以探索更高级的功能,如集群配置、消息持久化、插件开发等。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单