RabbitMQ在Linux上如何配置

作者:袖梨 2026-08-05

Linux上配置RabbitMQ的实操指南

RabbitMQ在Linux上怎么配置

一 环境准备与安装

  1. 安装依赖:RabbitMQ基于Erlang,需先安装对应版本;在RHEL/CentOS上建议先安装socat(部分安装包依赖)。
  2. 安装方式:优先使用发行版仓库或官方提供的安装包(DEB/RPM);也可使用通用Unix包解压即用。
  3. 版本匹配:务必保证Erlang与RabbitMQ版本兼容(生产环境建议固定版本对)。
  4. 示例(Ubuntu/Debian):sudo apt-get update && sudo apt-get install -y erlang rabbitmq-server
  5. 示例(CentOS/RHEL):sudo yum install -y socat erlang;随后安装匹配版本的RabbitMQ RPM包。

二 核心配置

  1. 配置文件位置与格式:新版推荐主配置文件为**/etc/rabbitmq/rabbitmq.conf**(经典配置为**/etc/rabbitmq/rabbitmq.config**,二者不要混用);可按需创建**/etc/rabbitmq/rabbitmq-env.conf**设置环境变量(如数据与日志目录)。
  2. 数据与日志目录:建议自定义到容量更大的磁盘分区,例如在rabbitmq-env.conf中设置:RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesiaRABBITMQ_LOG_BASE=/data/rabbitmq/log并提前创建目录与授权:mkdir -p /data/rabbitmq/{mnesia,log} && chown -R rabbitmq:rabbitmq /data/rabbitmq
  3. 常用内核参数示例(写入rabbitmq.conf):vm_memory_high_watermark.relative = 0.4disk_free_limit.relative = 1.0tcp_listeners.tcp.default = 5672management.tcp.port = 15672
  4. 远程访问与安全:默认仅本地可访问管理界面;如需远程,创建管理员用户并配置权限,同时避免开放公网访问guest账户。

三 服务启动与插件

  1. 启停与自启(systemd):sudo systemctl start rabbitmq-serversudo systemctl status rabbitmq-serversudo systemctl enable rabbitmq-server
  2. 管理插件:启用Web管理界面与HTTP APIsudo rabbitmq-plugins enable rabbitmq_management
  3. 访问管理界面:浏览器打开http://服务器IP:15672;默认账号guest/guest仅限本机访问,远程请使用自建管理员账户。

四 用户 虚拟主机与权限

  1. 创建管理员用户并赋权:rabbitmqctl add_user admin StrongPass!rabbitmqctl set_user_tags admin administratorrabbitmqctl set_permissions -p / admin “." ".” “.*”
  2. 创建业务虚拟主机与用户:rabbitmqctl add_vhost myvhostrabbitmqctl add_user appuser AppPass!rabbitmqctl set_permissions -p myvhost appuser “." ".” “.*”
  3. 安全建议:生产环境删除或禁用默认的guest远程登录,仅保留必要账户与最小权限。

五 防火墙与端口

  1. 需开放的端口与用途:
    端口用途
    4369Erlang端口映射/节点发现
    5672/5671AMQP 0-9-1客户端端口(非SSL/SSL)
    15672管理插件HTTP API
    25672节点间与CLI通信
  2. 防火墙示例:
    1. Ubuntu/Debian(ufw):sudo ufw allow 5672,15672/tcp
    2. CentOS/RHEL(firewalld):sudo firewall-cmd --permanent --add-port=5672/tcpsudo firewall-cmd --permanent --add-port=15672/tcpsudo firewall-cmd --reload
  3. 安全提示:仅在内网或受控网络开放管理端口,AMQP端口建议置于内网/VPC安全组内。

相关文章

精彩推荐