Laradock:Laravel队列工作者无法连接到RabbitMQ

时间:2018-06-22 00:42:32

标签: laravel rabbitmq laradock

我已经使用最新的Laradock和composer安装了RabbitMQ(3.7.6)的Laravel(5.6)应用程序 https://github.com/vyuldashev/laravel-queue-rabbitmq。当我使用php artisan queue:work启动Laravel消息工作程序时,出现以下错误

local.ERROR: AMQP error while attempting pop: stream_socket_client(): 
unable to connect to tcp://127.0.0.1:5672 (Connection refused)  

但是,我可以使用telnet 127.0.0.1 5672连接到Rabbit(在闲置10秒钟后,连接将关闭)。听众似乎工作正常:

{listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{http,15672,"::"}]}

我也检查了RabbitMQ日志,但是那里什么也没有显示。因此,我认为这在客户端是个问题,但我不确定在哪里看。

Laravel .env中的RabbitMQ设置

QUEUE_DRIVER=rabbitmq
RABBITMQ_QUEUE=default
RABBITMQ_DSN=amqp:

拉达克.env

RABBITMQ_NODE_HOST_PORT=5672
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我在Notification类的类定义行中缺少implements ShouldQueue。另外,我必须用bcaddmongodb扩展名构建php-worker。

RUN pecl install mongodb && docker-php-ext-enable mongodb
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl bcmath