RabbitMQ在Linux上怎么配置
导读: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
