温馨提示×

centos上rabbitmq配置步骤

小樊
61
2025-09-22 04:04:00
栏目: 智能运维

CentOS上RabbitMQ配置步骤

1. 准备工作

  • 确保CentOS系统已更新sudo yum update -y);
  • 具备root权限sudo访问权限;
  • 服务器具备网络连接(能访问Erlang和RabbitMQ官方仓库)。

2. 安装Erlang(RabbitMQ依赖)

RabbitMQ基于Erlang语言开发,需先安装兼容版本的Erlang。

  • 添加Erlang官方仓库(以CentOS 7为例):
    sudo yum install -y epel-release
    sudo yum install -y https://dl.bintray.com/rabbitmq/erlang/25/el/7/x86_64/erlang-25.0-1.el7.x86_64.rpm
    
  • 验证安装:erl -version(显示Erlang版本信息即成功)。

3. 添加RabbitMQ官方仓库

通过官方仓库安装RabbitMQ,确保版本最新且支持后续更新。

  • 创建仓库文件:
    sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF
    [rabbitmq]
    name=RabbitMQ
    baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/25/el/7/x86_64/
    gpgcheck=0
    enabled=1
    EOF
    
  • 刷新仓库缓存:sudo yum makecache

4. 安装RabbitMQ Server

  • 安装RabbitMQ:
    sudo yum install -y rabbitmq-server
    
  • 验证安装:rpm -qi rabbitmq-server(显示包信息即成功)。

5. 启动RabbitMQ服务

  • 启动服务:sudo systemctl start rabbitmq-server
  • 设置开机自启:sudo systemctl enable rabbitmq-server
  • 检查服务状态:sudo systemctl status rabbitmq-server(显示“active (running)”即正常)。

6. 启用管理插件(可选但推荐)

RabbitMQ提供Web管理界面,方便可视化操作。

  • 启用插件:sudo rabbitmq-plugins enable rabbitmq_management
  • 访问界面:浏览器输入http://<服务器IP>:15672,默认用户名/密码为guest/guest(仅限本地访问,需修改以允许远程登录)。

7. 配置RabbitMQ核心参数

7.1 修改默认用户(增强安全性)

默认guest用户仅能本地登录,需创建新用户并赋予权限:

  • 创建用户(替换your_username/your_password):
    sudo rabbitmqctl add_user your_username your_password
    
  • 设置用户角色(administrator拥有所有权限):
    sudo rabbitmqctl set_user_tags your_username administrator
    
  • 授权虚拟主机(/为默认虚拟主机):
    sudo rabbitmqctl set_permissions -p / your_username ".*" ".*" ".*"
    
  • 删除默认guest用户(可选,生产环境建议删除):
    sudo rabbitmqctl delete_user guest
    
7.2 配置监听端口(允许远程访问)

修改/etc/rabbitmq/rabbitmq.conf(若文件不存在,可创建或复制模板):

listeners.tcp.default = 0.0.0.0:5672  # 监听所有IP的5672端口(AMQP协议)
management.tcp.port = 15672           # 管理界面端口(默认15672)
  • 重启服务使配置生效:sudo systemctl restart rabbitmq-server

8. 配置防火墙(允许外部访问)

若启用了firewalld,需开放RabbitMQ端口:

sudo firewall-cmd --permanent --add-port=5672/tcp  # AMQP协议端口
sudo firewall-cmd --permanent --add-port=15672/tcp # 管理界面端口
sudo firewall-cmd --reload

若使用iptables,需添加对应规则(略)。

9. 验证配置

  • 检查服务状态:sudo systemctl status rabbitmq-server
  • 查看RabbitMQ信息:sudo rabbitmqctl status
  • 登录管理界面:使用新用户访问http://<服务器IP>:15672,验证能否正常操作(如创建队列、交换机)。

10. 生产环境优化建议

  • 禁用guest远程登录:修改rabbitmq.conf,设置loopback_users.guest = false(仅允许本地访问);
  • 启用TLS加密:配置listeners.ssl.default及证书路径,提升通信安全;
  • 设置资源限制:通过vm_memory_high_watermark(内存阈值)、disk_free_limit(磁盘空间阈值)防止资源耗尽;
  • 配置集群:通过cluster_nodes参数将多个节点组成集群,提升高可用性。

以上步骤覆盖了CentOS上RabbitMQ的基础配置,可根据实际需求调整参数(如虚拟主机、权限、端口等)。

0