主页

问题描述:
因为业务需要使用rabbitmq进行数据通信,所以使用laravel搭建了服务,但是在部署到测试服务器后,服务器开始报错:

dev.ERROR: AMQP error while attempting pop: ACCESS_REFUSED - Login was refused using authentication mechanism AMQPLAIN. For details see the broker logfile.(0, 0)

看错误描述是rabbitmq拒绝普通用户登录,但是我账号是管理员权限,没有理由被拒绝,于是开始排查
排查过程:
1、因为推送消息通过守护进程方式执行的,首先去掉自己的服务脚本,然后执行supervisorctl reload,确认自己脚本未执行,此时查看日志,发现还有报错
2、因为是测试环境,然后停止supervisor,继续查看日志,发现日志没有报错,确定是某个脚本报错,然后逐一排查,最后确定是一个脚本也是用queue队列,于是查看代码,发现当前脚本并没有使用mq,但是为什么触发报错
3、继续查看自己的代码,突然想起在.env里面里面配置了rabbitmq相关配置,突然发现一段代码

QUEUE_DRIVER=rabbitmq

,查看queue.php,里面默认是redis,到此,基本确认问题,于是注释掉QUEUE_DRIVER,然后重新supervisor,日志再没有报错信息
总结:
因为代码是参考网上示例,直接复制的,没有注意到消息队列被改为rabbitmq,导致其他消息队列报错,在此记录一下。从网上查找的资源,需要在校验是否可用的同时,涉及到环境变量的内容一定要特别注意

版权属于:三分快乐,七纷幸福
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
0
查看目录

目录

来自 《laravel dev.ERROR: AMQP error while attempting pop: ACCESS_REFUSED - Login was refused using authentication mechanism AMQPLAIN. For details see the broker logfile.(0, 0)》
评论

三分快乐,七纷幸福
104 文章数
7 评论量
11 分类数
107 页面数
已在风雨中度过 2年246天21小时0分