- 浏览: 627850 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
刚刚安装的RabbitMQ-Server-3.3.5,并且也已经开启了Web管理功能,但是现在存在一个问题:
出于安全的考虑,guest这个默认的用户只能通过http://localhost:15672 来登录,不能使用IP地址登录,也就是不能远程访问,这对于服务器上没有安装桌面的情况是无法管理维护的。
要解决这个问题需要配置远程登录权限,这里通过配置文件来实现远程访问。
这里主要介绍Unix和Windows的配置文件修改。
一、Windows
Windows环境下默认配置文件为目录/%RabbitMQ Server%/rabbitmq_server-3.3.5/etc下的rabbitmq.config.example文件,我们可以直接在这个文件中修改(可以不用去设置环境变量了),也可以自己再新建一个rabbitmq.config文件,然后把这个文件路径配置到环境变量中,这里介绍就直接修改rabbitmq.config.example文件。
注意:修改之前,需要先停止RabbitMQ服务!!不然是不能保存的!!!
配置之前需要先添加用户,用于外网的访问,可以使用命令行来实现添加用户,需要在RabbitMQ的安装目录sbin目录下执行:
也可以通过web管理页面来添加用户和密码,使用guest登录web管理页面http://localhost:15672,进入“admin”标签页,然后点击“Add a user ”,输入对用的帐号密码,然后选择用户角色(一定要选择):
为了授权该用户对VirtualHost"/" 的访问,用户添加之后,需要对该用户进行授权,不然运行会出现错误
操作过程为:在Admin标签页下点击新增的用户"admin",进入授权页面,默认直接点击"set permission"即可:
用户以及授权添加完成之后,在rabbitmq.config.example文件中,添加以下内容,保存后重启RabbitMQ服务:
在浏览器中输入http://192.168.0.124:15672实现通过IP地址访问,成功登录:
参考:http://dwf07223.blog.51cto.com/8712758/1547226
出于安全的考虑,guest这个默认的用户只能通过http://localhost:15672 来登录,不能使用IP地址登录,也就是不能远程访问,这对于服务器上没有安装桌面的情况是无法管理维护的。
要解决这个问题需要配置远程登录权限,这里通过配置文件来实现远程访问。
这里主要介绍Unix和Windows的配置文件修改。
一、Windows
Windows环境下默认配置文件为目录/%RabbitMQ Server%/rabbitmq_server-3.3.5/etc下的rabbitmq.config.example文件,我们可以直接在这个文件中修改(可以不用去设置环境变量了),也可以自己再新建一个rabbitmq.config文件,然后把这个文件路径配置到环境变量中,这里介绍就直接修改rabbitmq.config.example文件。
注意:修改之前,需要先停止RabbitMQ服务!!不然是不能保存的!!!
配置之前需要先添加用户,用于外网的访问,可以使用命令行来实现添加用户,需要在RabbitMQ的安装目录sbin目录下执行:
引用
duanwf@master:/opt/rabbitmq_server-3.3.5/sbin$ rabbitmqctl add_user admin admin
也可以通过web管理页面来添加用户和密码,使用guest登录web管理页面http://localhost:15672,进入“admin”标签页,然后点击“Add a user ”,输入对用的帐号密码,然后选择用户角色(一定要选择):
为了授权该用户对VirtualHost"/" 的访问,用户添加之后,需要对该用户进行授权,不然运行会出现错误
引用
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=403, reply-text=ACCESS_REFUSED - access to queue 'hello' in vhost '/' refused for user 'admin', class-id=50, method-id=10), null, ""}
详细错误日志为: java.io.IOException at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:106) at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:102) at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:124) at com.rabbitmq.client.impl.ChannelN.queueDeclare(ChannelN.java:766) at com.rabbitmq.client.impl.ChannelN.queueDeclare(ChannelN.java:61) at com.asiainfo.mq.rabbitmq.rabbitmqtest.SendTest.main(SendTest.java:29) Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=403, reply-text=ACCESS_REFUSED - access to queue 'hello' in vhost '/' refused for user 'admin', class-id=50, method-id=10), null, ""} at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67) at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:33) at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:343) at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:216) at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:118) ... 3 more Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=403, reply-text=ACCESS_REFUSED - access to queue 'hello' in vhost '/' refused for user 'admin', class-id=50, method-id=10), null, ""} at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:473) at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:313) at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:144) at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:91) at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:533)
操作过程为:在Admin标签页下点击新增的用户"admin",进入授权页面,默认直接点击"set permission"即可:
用户以及授权添加完成之后,在rabbitmq.config.example文件中,添加以下内容,保存后重启RabbitMQ服务:
…… [ {rabbit, [%% %% Network Connectivity %% ==================== %% %% By default, RabbitMQ will listen on all interfaces, using %% the standard (reserved) AMQP port. %% {tcp_listeners, [5672]}, {loopback_users, ["admin"]}, …… ]} ].
在浏览器中输入http://192.168.0.124:15672实现通过IP地址访问,成功登录:
参考:http://dwf07223.blog.51cto.com/8712758/1547226
发表评论
-
RocketMQ教程,包含所有MQ核心知识点!
2022-04-28 13:49 156RocketMQ教程,包含所有MQ核心知识点 原创 | Ja ... -
rabbitmq死信队列和延时队列的使用
2021-12-25 23:19 242rabbitmq死信队列和延时队列的使用 -
IM消息送达保证机制实现(一):保证在线实时消息的可靠投递
2021-12-14 11:49 166[url=http://www.52im.net/thread ... -
RabbitMQ高级特性TTL队列/消息
2021-09-04 22:47 212RabbitMQ高级特性-TTL队列/消息 RabbitMQ ... -
如何保证消息不丢失,消息顺序执行-面试
2021-05-26 20:24 232关于MQ的几件小事(四)如何保证消息不丢失 如何保证Rab ... -
RabbitMQ 相关问题汇总
2017-06-28 17:43 428RabbitMQ 相关问题汇总 rabbitmq基础概念与基 ... -
rabbitMq集成Spring后,消费者设置手动ack,并且在业务上控制是否ack
2017-06-12 20:30 2157http://blog.csdn.net/u010841296 ... -
rabbitmq消费消息的两种方式
2016-12-05 20:12 1000rabbitMQ中consumer通过建立到queue的连接, ... -
rabbitmq——镜像队列
2016-12-02 20:05 11221. 镜像队列的设置 镜像队列的配置通过添加policy完成 ... -
RabbitMQ 内部实现
2016-12-01 14:41 1015http://blog.csdn.net/joeyon1985 ... -
OpenStack RabbitMQ 集群-后续整理
2016-12-01 14:18 504参考:http://www.iyunv.com/thread- ... -
RabbitMQ (三) 发布/订阅
2016-11-30 19:53 5581、转发器(Exchanges) ... -
RabbitMQ学习(六)之远程过程调用(RPC)
2016-11-30 14:31 836在一般使用RabbitMQ做RPC很容易。客户端发送一个请求消 ... -
RabbitMQ学习之Headers交换类型
2016-11-28 10:51 794Headers类型的exchange使用的比较少,它也是忽略r ... -
RabbitMQ能打开的最大连接数
2016-11-28 10:29 2573转自:http://blog.csdn.net/huoyuns ... -
RabbitMQ基础知识
2016-11-28 10:25 517Routing key由生产者指定。Binding key由消 ... -
RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析
2016-11-25 21:36 886rabbitMQ中consumer通过建立到queue的连接, ... -
RabbitMQ用户角色及权限控制
2016-11-24 11:08 1754RabbitMQ:基本命令 rabbitmq的安装、启动和停 ... -
publish消息确认
2016-11-23 18:01 668Using standard AMQP, the only w ... -
rabbitMQ ConfirmListener
2016-11-23 15:53 2156消息消费者 操作步骤: 1. 创建连接工厂Connection ...
相关推荐
安装完成后,需要创建一个配置文件rabbitmq.config,并设置loopback_users参数为空,这意味着允许远程访问。接下来,配置RabbitMQ服务为开机自启动,并启动RabbitMQ服务。 为了方便管理RabbitMQ,可以启用RabbitMQ ...
例如,如果你的RabbitMQ服务器只监听本地接口,你可以用socat创建一个端口转发,让远程机器也能访问到RabbitMQ的管理API。 **四、RabbitMQ学习资源** “尚硅谷”的学习笔记提供了关于RabbitMQ的详细教程,涵盖了...
5. **设置默认用户和权限**:RabbitMQ默认不开启 guest 用户的远程访问,为了安全,需要创建新的用户并赋予适当的权限。可以使用`rabbitmqctl add_user`、`rabbitmqctl set_permissions`等命令进行操作。 6. **安装...
7. **解决 CentOS 6.7 安装问题**: - 如果遇到 `{missing_dependencies,[crypto,ssl]}` 错误,可能需要重新安装 OpenSSL。 - 安装 OpenSSL,修改 Makefile 添加 `-fPIC`,然后重新编译和安装。 - 重新安装 ...
在 RabbitMQ 中,它可能不是直接必需的,但在某些场景下,比如连接远程 RabbitMQ 服务器或解决网络隔离问题时, socat 可能会派上用场。 配置 RabbitMQ 的过程中,你可能需要创建用户、虚拟主机和权限。这可以通过 ...
- 调整配置文件允许远程访问: ```sh vi /etc/rabbitmq/rabbitmq.config ``` 注意去除逗号,并确保配置正确。 4. **启动管理插件** - 启用管理插件: ```sh rabbitmq-plugins enable rabbitmq_management ...
【RabbitMQ安装详解】 ...通过以上步骤,你应该能在CentOS 6.5上成功安装并配置RabbitMQ,包括开启Web管理界面并解决远程访问问题。请注意,安全最佳实践是创建新的用户和虚拟主机,而不是依赖于默认的`guest`用户。
为了能够在远程访问 RabbitMQ,需要创建新的用户。 进入 RabbitMQ 的 bin 目录,通过命令行创建新用户,并设置其为管理员: ```bash cd /usr/lib/rabbitmq/bin rabbitmq-server start ./rabbitmqctl add_user ...
3. **系统监控**:实时查看RabbitMQ服务器的状态,提前发现和解决潜在问题。 4. **运维诊断**:在遇到问题时,利用工具进行诊断,如检查队列积压、交换机配置错误等。 **最佳实践** 1. **合理规划消息路由**:...
- 如果rpm包的安装信息中包含默认安装路径,说明不能更改安装位置,直接使用rpm-ivh命令安装即可。 - 如果需要指定安装路径,可以使用rpm-ivh--prefix=/指定的目录命令来安装rpm包。 - 安装成功后,可以通过erl -...
例如,为了允许远程访问,需要修改配置文件中的相应设置。 - **启动 RabbitMQ 服务** 安装完成后,可以通过以下命令启动 RabbitMQ 服务: ```bash service rabbitmq-server start ``` 查看服务状态: ```...
RabbitMQ是一款广泛使用的开源消息代理服务器,它的主要任务是实现系统间的解耦,通过消息队列技术来传递信息。消息队列(MQ)是一种通信机制,...无论是小型项目还是大型企业级应用,RabbitMQ都能提供稳定的解决方案。
如果你需要远程访问,需要创建新用户或修改`rabbitmq.config`文件以允许`guest`用户远程登录。同时,别忘了开放防火墙端口,如15672(HTTP管理界面)和5672(AMQP协议端口)。 8. **验证安装**: 打开浏览器,访问...
确保先安装Erlang,然后安装RabbitMQ,解决所有依赖问题,并启动和配置服务,即可开始利用RabbitMQ实现消息队列的功能。在实际应用中,RabbitMQ可以帮助优化系统性能,提高系统的可靠性和灵活性。
3. 配置RabbitMQ以允许远程访问或设置用户权限。 4. 使用`rabbitmq-plugins enable rabbitmq_management`启用Web管理界面,方便监控和管理RabbitMQ服务器。 在RabbitMQ中,有以下几个关键概念: - **节点(Node)**...
如何诊断和解决RabbitMQ的消息问题?** - 利用日志和监控工具定位问题原因。 - 优化消息处理逻辑和配置参数。 **45. 如果RabbitMQ的节点宕机,如何恢复?** - 通过故障转移机制自动切换到其他可用节点。 - 手动...
4. 配置远程访问: - 创建新用户并设置其角色和权限,允许远程登录。 三、为什么使用 RabbitMQ? RabbitMQ 解决了在高并发、高负载场景下,系统间通信的延迟和可靠性问题。通过引入消息队列,生产者可以快速发送...
4. **启动RabbitMQ**:使用`rabbitmq-server start`命令启动服务,如果一切顺利,服务应该能成功启动。 5. **验证安装**:通过`rabbitmq-plugins list`检查插件是否安装正确,然后访问`http://localhost:15672`查看...
为了远程访问,你需要创建新用户并赋予相应的权限。打开RabbitMQ控制台: ```bash sudo rabbitmqctl add_user myuser mypassword sudo rabbitmqctl set_user_tags myuser administrator sudo rabbitmqctl set_...
在实际部署中,为了能够远程访问管理和监控界面,需要设置合适用户的权限,并通过防火墙设置允许外部访问。对于监控集群状态,每台服务器上都可能需要运行相应的命令来获取状态信息,以便于在集群的管理界面上进行...