首页主机资讯RabbitMQ在Linux上怎么配置

RabbitMQ在Linux上怎么配置

时间2025-12-22 23:03:04发布访客分类主机资讯浏览1118
导读:Linux上配置RabbitMQ的实操指南 一 环境准备与安装 安装依赖:RabbitMQ基于Erlang,需先安装对应版本;在RHEL/CentOS上建议先安装socat(部分安装包依赖)。 安装方式:优先使用发行版仓库或官方提供的安装...

Linux上配置RabbitMQ的实操指南

一 环境准备与安装

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

二 核心配置

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

三 服务启动与插件

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

四 用户 虚拟主机与权限

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

五 防火墙与端口

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: RabbitMQ在Linux上怎么配置
本文地址: https://pptw.com/jishu/777890.html
RabbitMQ消息持久化Linux设置 ubuntu inotify如何进行配置备份

游客 回复需填写必要信息