温馨提示×

CentOS中RabbitMQ配置步骤

小樊
47
2025-11-07 22:27:49
栏目: 智能运维

CentOS中RabbitMQ配置步骤

1. 准备工作:安装Erlang环境

RabbitMQ是基于Erlang语言开发的,因此需要先安装Erlang。可以通过Erlang官方仓库或RabbitMQ兼容的仓库安装:

# 添加Erlang官方仓库
sudo 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

# 安装Erlang
sudo yum install -y erlang

# 验证安装
erl -version  # 应输出Erlang版本信息

2. 添加RabbitMQ官方仓库

为了安装最新稳定版的RabbitMQ,建议添加RabbitMQ官方仓库:

# 添加RabbitMQ仓库
sudo 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

3. 安装RabbitMQ服务器

通过YUM安装RabbitMQ:

# 安装RabbitMQ
sudo yum install -y rabbitmq-server

# 验证安装
rpm -qa | grep rabbitmq-server  # 应输出rabbitmq-server版本信息

4. 启动RabbitMQ服务并设置开机自启

# 启动RabbitMQ服务
sudo systemctl start rabbitmq-server

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

# 检查服务状态
sudo systemctl status rabbitmq-server  # 应显示"active (running)"

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

RabbitMQ默认提供Web管理界面,需通过插件启用:

# 启用管理插件
sudo rabbitmq-plugins enable rabbitmq_management

# 验证插件状态
sudo rabbitmq-plugins list  # 应显示"rabbitmq_management"为"[enabled]"

6. 配置防火墙(允许远程访问)

若需远程访问RabbitMQ的管理界面或AMQP端口,需配置防火墙:

# 允许AMQP协议端口(5672,用于客户端通信)
sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp

# 允许管理界面端口(15672,用于Web访问)
sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp

# 重新加载防火墙规则
sudo firewall-cmd --reload

7. 配置RabbitMQ核心参数

RabbitMQ的主要配置文件位于/etc/rabbitmq/rabbitmq.conf(新版推荐使用INI格式),可通过修改该文件调整配置:

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

# 示例配置(取消注释并修改):
# 监听所有IP的5672端口(默认仅监听本地)
listeners.tcp.default = 0.0.0.0:5672

# 禁用guest用户远程登录(默认guest用户仅能本地访问)
loopback_users.guest = false

# 设置默认用户(替换为自定义用户名/密码)
default_user = admin
default_pass = admin123

# 设置日志级别(info/debug/warning/error)
log.level = info

# 保存并退出

8. 创建用户并设置权限

默认的guest用户安全性较低,建议创建新用户并分配权限:

# 创建用户(用户名:admin,密码:admin123)
sudo rabbitmqctl add_user admin admin123

# 设置用户角色为管理员(administrator可管理虚拟主机、用户等)
sudo rabbitmqctl set_user_tags admin administrator

# 分配权限(允许用户访问默认虚拟主机"/",并拥有所有操作权限)
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

# 验证用户
sudo rabbitmqctl list_users  # 应显示admin用户

9. 验证配置

  • 访问管理界面:在浏览器中输入http://<服务器IP>:15672,使用创建的admin用户登录,查看队列、交换机等状态。
  • 命令行测试:使用rabbitmqadmin工具发送/接收消息(需提前安装,可通过sudo rabbitmqadmin命令查看用法)。

10. 高级配置(可选)

  • 虚拟主机:创建隔离的队列环境:
    sudo rabbitmqctl add_vhost my_vhost  # 创建虚拟主机
    sudo rabbitmqctl set_permissions -p my_vhost admin ".*" ".*" ".*"  # 分配权限
    
  • 持久化设置:修改rabbitmq.conf中的queue_index_embed_msgs_belowmsg_store_file_size_limit等参数,提升消息可靠性。
  • 集群配置:若需搭建集群,需修改rabbitmq.conf中的cluster_nodes参数,并通过rabbitmqctl join_cluster命令将节点加入集群。

以上步骤涵盖了CentOS环境下RabbitMQ的基础配置,可根据实际需求调整参数(如端口、用户权限、持久化设置等)。生产环境中建议启用TLS加密、限制远程访问IP、定期备份配置文件。

0