首页主机资讯RabbitMQ消息队列CentOS部署指南

RabbitMQ消息队列CentOS部署指南

时间2025-11-26 17:46:04发布访客分类主机资讯浏览842
导读:一 环境准备与版本选择 适用系统:CentOS 7/8(示例使用 x86_64),建议内核与基础工具保持更新。 版本匹配:安装前务必确认 Erlang 与 RabbitMQ 的版本兼容矩阵,避免不兼容导致启动失败或异常。 基础依赖:安装...

一 环境准备与版本选择

  • 适用系统:CentOS 7/8(示例使用 x86_64),建议内核与基础工具保持更新。
  • 版本匹配:安装前务必确认 Erlang 与 RabbitMQ 的版本兼容矩阵,避免不兼容导致启动失败或异常。
  • 基础依赖:安装 Erlang 时建议先安装 socat(部分 RPM 构建依赖),可减少安装报错。
  • 主机名与解析:确保 /etc/hosts 正确解析本机 FQDN/短主机名,否则节点间通信与 CLI 可能失败。
  • 安全策略:如启用 firewalld/SELinux,需提前规划端口放行与策略调整,避免访问与管理受阻。

二 安装步骤

  • 方式一 推荐仓库安装(便于后续升级)
    1. 安装 Erlang 仓库与包
      • 安装脚本方式(自动导入 GPG 与仓库):
        • curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
        • curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
      • 或手动创建 repo 文件(示例为 EL7,其他版本请替换 $releasever):
        • tee /etc/yum.repos.d/erlang.repo < < EOF [erlang-repo] name=Erlang Repository baseurl=https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/ repo_gpgcheck=1 gpgcheck=1 enabled=1 gpgkey=https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/erlang.gpg EOF
        • tee /etc/yum.repos.d/rabbitmq.repo < < EOF [rabbitmq-server] name=RabbitMQ Repository baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch repo_gpgcheck=1 gpgcheck=1 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey EOF
    2. 安装与启动
      • sudo yum install -y erlang rabbitmq-server
      • sudo systemctl start rabbitmq-server & & sudo systemctl enable rabbitmq-server
  • 方式二 RPM 离线安装(无外网或内网环境)
    • 下载匹配版本的 ErlangRabbitMQ RPM 包(注意版本兼容),先安装依赖:sudo yum install -y socat
    • 安装:rpm -ivh erlang-.rpm rabbitmq-server-.noarch.rpm
    • 启动:sudo systemctl start rabbitmq-server & & sudo systemctl enable rabbitmq-server
  • 验证安装
    • 服务状态:sudo systemctl status rabbitmq-server
    • 节点状态:rabbitmqctl status

三 基础配置与访问控制

  • 启用管理插件与访问
    • 启用插件:sudo rabbitmq-plugins enable rabbitmq_management
    • 访问地址:http://< 服务器IP> :15672,默认账号 guest/guest(仅限本机访问)。
  • 创建管理员与虚拟主机
    • 新建用户:sudo rabbitmqctl add_user admin StrongPass!
    • 设置角色:sudo rabbitmqctl set_user_tags admin administrator
    • 新建 vhost:sudo rabbitmqctl add_vhost /prod
    • 赋权:sudo rabbitmqctl set_permissions -p /prod admin “." ".” “.*”
  • 配置文件与目录
    • 主配置:/etc/rabbitmq/rabbitmq.conf
    • 环境配置:/etc/rabbitmq/rabbitmq-env.conf
    • 数据目录:/var/lib/rabbitmq/(含 .erlang.cookie 等敏感文件,注意权限)

四 防火墙与 SELinux 设置

  • firewalld 放行端口
    • AMQP:5672/TCP,管理界面:15672/TCP
    • 命令:
      • sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp
      • sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp
      • sudo firewall-cmd --reload
  • SELinux
    • 如遇插件或管理访问受限,可临时或策略性调整(示例为允许 httpd 网络连通性,按需使用):
      • sudo setsebool -P httpd_can_network_connect 1
    • 生产环境建议基于最小权限原则进行策略配置,而非全局放行。

五 快速验证与常见问题

  • 快速验证
    • 管理界面:浏览器访问 http://:15672,使用新建的 admin 登录,确认节点、连接、队列视图正常。
    • CLI 验证:rabbitmqctl status 查看节点与运行时信息。
    • 命令行工具:使用 rabbitmqadmin 进行队列/交换机/绑定声明与收发测试(需先启用管理插件)。
  • 常见问题与排查
    • 节点不可达或 CLI 认证失败:检查 /etc/hosts 主机名解析、FQDN 一致性、以及 .erlang.cookie 是否一致(集群场景尤为重要)。
    • 管理界面无法远程访问:确认 15672 已放行、插件已启用、以及应用监听地址配置正确。
    • 安装依赖失败:安装 socat 后重试 Erlang/RabbitMQ 安装。

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


若转载请注明出处: RabbitMQ消息队列CentOS部署指南
本文地址: https://pptw.com/jishu/756896.html
centos邮件服务器日志管理 centos邮件服务器资源占用分析

游客 回复需填写必要信息