RabbitMQ在Linux上如何配置
导读:Linux 上配置 RabbitMQ 的实用步骤 一 环境准备与安装 安装 Erlang(RabbitMQ 运行依赖): Debian/Ubuntu:执行 sudo apt update && sudo apt inst...
Linux 上配置 RabbitMQ 的实用步骤
一 环境准备与安装
- 安装 Erlang(RabbitMQ 运行依赖):
- Debian/Ubuntu:执行
sudo apt update & & sudo apt install -y erlang - RHEL/CentOS:执行
sudo yum install -y erlang
- Debian/Ubuntu:执行
- 安装 RabbitMQ 服务器:
- Debian/Ubuntu:执行
sudo apt install -y rabbitmq-server - RHEL/CentOS:执行
sudo yum install -y rabbitmq-server
- Debian/Ubuntu:执行
- 启动与开机自启:
- 使用 systemd:
sudo systemctl start rabbitmq-server & & sudo systemctl enable rabbitmq-server - 验证状态:
sudo systemctl status rabbitmq-server或sudo rabbitmqctl status。
- 使用 systemd:
二 核心配置
- 配置文件路径与格式
- 主配置文件:/etc/rabbitmq/rabbitmq.conf(经典配置项使用“key = value”格式)
- 高级/旧式配置:/etc/rabbitmq/rabbitmq.config(Erlang 元组格式,按需使用)
- 常用配置示例
- 自定义数据与日志目录(在 rabbitmq-env.conf 中设置环境变量)
- 创建目录:
sudo mkdir -p /data/rabbitmq/{ mnesia,log} - 设置属主:
sudo chown -R rabbitmq:rabbitmq /data/rabbitmq - 写入环境:
echo 'RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia' | sudo tee /etc/rabbitmq/rabbitmq-env.conf - 写入环境:
echo 'RABBITMQ_LOG_BASE=/data/rabbitmq/log' | sudo tee -a /etc/rabbitmq/rabbitmq-env.conf
- 创建目录:
- 允许远程登录默认账户(仅测试环境建议)
- 新建或编辑:
sudo tee /etc/rabbitmq/rabbitmq.config < < 'EOF' [ { rabbit, [{ loopback_users, []} ]} ]. EOF - 注意生产环境应创建专用用户并禁用或删除 guest。
- 新建或编辑:
- 自定义数据与日志目录(在 rabbitmq-env.conf 中设置环境变量)
- 管理插件
- 启用管理界面:
sudo rabbitmq-plugins enable rabbitmq_management - 访问地址:http://服务器IP:15672(默认账号 guest/guest,远程访问需另建用户)。
- 启用管理界面:
三 用户与权限
- 创建 vhost:
sudo rabbitmqctl add_vhost /myvhost - 创建 用户:
sudo rabbitmqctl add_user myuser mypassword - 设置 权限(配置/写/读):
sudo rabbitmqctl set_permissions -p /myvhost myuser ".*" ".*" ".*" - 赋予 角色(如管理员):
sudo rabbitmqctl set_user_tags myuser administrator - 建议:生产环境删除或禁用 guest,仅使用自建用户与最小权限原则。
四 网络与防火墙
- 开放端口(默认):
- 5672(AMQP 0-9-1 与 AMQP 1.0)
- 15672(管理插件 HTTP)
- 防火墙示例
- UFW(Ubuntu):
sudo ufw allow 5672/tcp & & sudo ufw allow 15672/tcp - firewalld(CentOS/RHEL 7+):
sudo firewall-cmd --permanent --add-port=5672/tcp & & sudo firewall-cmd --permanent --add-port=15672/tcp & & sudo firewall-cmd --reload - 云服务器安全组需同步放行上述端口。
- UFW(Ubuntu):
五 验证与常见问题
- 服务与插件状态
- 服务:
sudo systemctl status rabbitmq-server - 插件:
rabbitmq-plugins list(确认 rabbitmq_management 为 [E]* 启用状态)
- 服务:
- 管理界面登录
- 使用自建用户访问 http://服务器IP:15672,能登录并看到概览、连接、队列等信息即正常
- 常见问题排查
- 端口不通:检查云安全组/本机防火墙、监听地址是否为 0.0.0.0
- 节点无法启动:查看日志
sudo journalctl -u rabbitmq-server -xe或 /data/rabbitmq/log 下的日志文件 - 权限错误:核对 vhost 与用户对应用户名、权限正则与角色设置。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: RabbitMQ在Linux上如何配置
本文地址: https://pptw.com/jishu/757893.html
