解决:rabbitmq stomp启用以后无法访问http://localhost:15674/stomp

本文详细介绍了在本地环境中配置RabbitMQ的STOMP通道的过程,包括安装Erlang、rabbitmq客户端,以及通过rabbitmq-plugins启用rabbitmq_web_stomp插件。文章解决了无法访问http://localhost:15674/stomp/info的问题,提供了具体的操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

安装好Erlang、rabbitmq客户端后,启用插件rabbitmq-plugins enable rabbitmq_web_stomp后无法访问http://localhost:15674/stomp/info

兴致勃勃的想学习一下如何实现简单的消息推送,从网上查了一下教程,我感觉很好的一篇文章先在这里给大家分享一下吧,Windows下 安装 rabbitMQ 及操作常用命令 ,安装完成之后,想在本地测试一下,结果前台一直报错,http://localhost:15674/stomp/info访问不了,问了度娘好久,终于找到了解决方法,话不多说,原因就是本地的RabbitMQ未开通STOMP通道,so 当然访问不通咯。下面是我找到的帖子,供大家参考:RabbitMQ开通STOMP通道

步骤:

进入到RabbitMQ安装目录下的sbin文件夹内

Shift加右键进入命令行

执行命令   

rabbitmq-plugins enable rabbitmq_web_stomp
rabbitmq-plugins enable rabbitmq_web_stomp_examples


成功后重启RabbitMQ
 

<think>好的,我现在需要帮助用户了解RabbitMQ如何与STOMP协议集成及配置。首先,我得回忆一下RabbitMQ的基本架构和STOMP协议的特点。RabbitMQ是一个消息代理,支持多种协议,其中STOMP是面向简单文本的消息协议,常用于Web应用。 接下来,用户的问题主要集中在集成和使用配置上,所以需要分步骤说明。首先,应该提到启用STOMP插件,这是RabbitMQ支持STOMP的前提。然后,可能需要配置监听端口,比如默认的61613端口,以及如何修改配置。此外,STOMP的认证机制和虚拟主机的设置也很重要,需要结合RabbitMQ的用户权限系统来说明。 然后,关于使用部分,需要给出客户端的例子,比如JavaScript中使用WebSocket连接到RabbitMQSTOMP端口,并发送和接收消息。同时,配置部分可能需要涉及SSL/TLS加密或者心跳设置,这些是实际应用中常见的需求。 还需要考虑引用提供的资料,比如引用[2]提到RabbitMQ简化了分布式系统的协作,这里可以结合STOMP的应用场景,比如在Web应用中的实时消息传递,说明如何利用STOMP协议实现生产者和消费者的配置,呼应引用中的内容。 另外,用户可能对实际操作的步骤不太清楚,比如如何启动插件,如何编写客户端代码,以及如何处理消息确认等高级配置。这些都需要在回答中详细说明,确保用户能够逐步操作。 最后,生成的相关问题需要围绕STOMP协议的其他方面,比如认证方式、与AMQP的比较、处理大消息的方法等,帮助用户进一步扩展知识。同时,要确保回答中的LaTeX格式正确,比如变量使用$符号包裹,独立公式用$$,并且引用正确的位置。</think>### RabbitMQSTOMP 协议集成与配置 #### 1. 启用 STOMP 插件 RabbitMQ 默认未启用 STOMP 协议支持,需通过命令行激活插件: ```bash rabbitmq-plugins enable rabbitmq_stomp ``` 重启服务后,STOMP 协议监听端口(默认 `61613`)生效[^2]。 #### 2. 基础配置 在 `rabbitmq.conf` 中可自定义 STOMP 参数: ```conf # 修改监听端口 stomp.listeners.tcp.1 = 127.0.0.1:61614 # 启用 WebSocket 支持 web_stomp.listeners.ws.1 = 0.0.0.0:15674 ``` STOMP 协议支持消息持久化、事务确认等特性,与 AMQP 队列互通[^2]。 #### 3. 认证与权限 STOMP 客户端使用 RabbitMQ 用户体系认证: ```python # Python 示例(使用 stomp.py) import stomp conn = stomp.Connection([('localhost', 61613)]) conn.connect('guest', 'guest', wait=True) conn.send('/queue/test', body='Hello STOMP') ``` #### 4. 消息路由规则 STOMP 目标地址映射规则: - `/queue/<name>` → 独立队列 - `/topic/<routing_key>` → 转发到默认交换器(`amq.topic`) - `/amq/queue/<name>` → 直接访问指定队列 #### 5. 心跳配置 在客户端配置心跳检测: ```javascript // JavaScript 示例(使用 stompjs) const client = Stomp.client('ws://localhost:15674/ws'); client.heartbeat.outgoing = 10000; // 10秒心跳 client.heartbeat.incoming = 0; ``` #### 6. 消息确认模式 支持两种消息确认机制: ```java // Java 示例(设置订阅头) frame = new StompFrame("SUBSCRIBE"); frame.addHeader("ack", "client-individual"); // 或 "auto" ``` $$ \text{消息可靠性公式: } R = 1 - (1 - p)^n $$ 其中 $p$ 为单次传输成功率,$n$ 为重试次数。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值