RabbitMQ Linux客户端怎么连接
导读:Linux 客户端连接 RabbitMQ 实操指南 一 前置检查 确认服务端已启动并监听 5672(AMQP)与 15672(管理插件)端口;云服务器还需在安全组放行对应端口。 建议创建专用用户与 vhost,并按需授予权限,避免使用仅限...
Linux 客户端连接 RabbitMQ 实操指南
一 前置检查
- 确认服务端已启动并监听 5672(AMQP)与 15672(管理插件)端口;云服务器还需在安全组放行对应端口。
- 建议创建专用用户与 vhost,并按需授予权限,避免使用仅限本地的 guest 账户进行远程连接。
- 注意 Erlang 与 RabbitMQ 版本必须匹配,否则可能出现启动或插件启用失败等问题。
二 服务端必要配置
- 启用管理插件(便于创建用户、vhost 与权限校验):
rabbitmq-plugins enable rabbitmq_management - 创建管理员用户与 vhost 并赋权(示例用户 admin / admin123,vhost /myvhost):
rabbitmqctl add_user admin admin123
rabbitmqctl set_user_tags admin administrator
rabbitmqctl add_vhost /myvhost
rabbitmqctl set_permissions -p /myvhost admin “." ".” “.*” - 远程访问与端口:
- 默认仅本机可登录的 guest 用户如需远程使用,需在配置文件 /etc/rabbitmq/rabbitmq.config 中设置:
[{ rabbit, [{ loopback_users, []} ]} ].
注意该文件需以英文句点“.”结束,修改后重启服务。 - 开放防火墙端口(firewalld):
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
- 默认仅本机可登录的 guest 用户如需远程使用,需在配置文件 /etc/rabbitmq/rabbitmq.config 中设置:
- 版本匹配提醒:部署前请对照官方兼容矩阵选择 Erlang 与 RabbitMQ 版本,避免不兼容导致异常。
三 客户端连接方式
- 命令行快速连通性测试(使用 amqp-tools):
- 安装:yum/apt 安装 amqp-tools
- 发送测试消息:
amqp-publish -u amqp://admin:admin123@< 服务器IP> :5672/myvhost -r test.queue -p -b “hello” - 消费测试消息:
amqp-consume -u amqp://admin:admin123@< 服务器IP> :5672/myvhost -r test.queue -f ‘| body : %b |’
- 程序代码示例(Python,pika):
import pika creds = pika.PlainCredentials('admin', 'admin123') params = pika.ConnectionParameters(host='< 服务器IP> ', port=5672, virtual_host='/myvhost', credentials=creds) conn = pika.BlockingConnection(params) ch = conn.channel() ch.queue_declare(queue='test.queue', durable=True) ch.basic_publish(exchange='', routing_key='test.queue', body='Hello from Linux client', properties=pika.BasicProperties(delivery_mode=2)) print("Sent message") conn.close() - 常用连接串模板:
- amqp://用户名:密码@主机IP:5672/虚拟主机
- 示例:amqp://admin:admin123@192.168.10.20:5672/myvhost
四 常见故障排查
- 连接被拒绝或超时:
- 核对 IP/端口/虚拟主机 是否正确,服务端是否在 5672 监听。
- 云主机需同时放行 安全组 与 系统防火墙 的 5672 端口。
- 认证失败:
- 确认用户名、密码正确,且该用户对目标 vhost 具备配置/写/读权限(set_permissions)。
- 插件或启动异常:
- 检查 Erlang 与 RabbitMQ 版本匹配;必要时查看日志定位问题。
- 端口占用:
- 若启动报错涉及 25672 等端口被占用,可用 ss/ps 查找并释放占用进程后再启动。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: RabbitMQ Linux客户端怎么连接
本文地址: https://pptw.com/jishu/775714.html
