繁体   English   中英

RabbitMQ配置问题

[英]RabbitMQ configuration problems

我对如何使用以下 rabbit 环境配置有疑问。

rabbit_mq:
    image: rabbitmq:3-management-alpine
    container_name: 'rabbitmq'
    hostname: rabbitmq
    ports:
      - 5672:5672
      - 15672:15672
    volumes:
      - ./docker/rabbitmq/data/:/var/lib/rabbitmq/
      - ./docker/rabbitmq/log/:/var/log/rabbitmq
      - ./docker/rabbitmq/conf/:/var/conf/rabbitmq
    environment:
#(I comment this now but before I used this)
#      RABBITMQ_HOST: rabbitmq  
#      RABBITMQ_PORT: 15672
#      RABBITMQ_VHOST: /
      RABBITMQ_DEFAULT_USER: guest  
#(I also tried to use RABBITMQ_USER)
      RABBITMQ_DEFAULT_PASS: guest  
#(and I also tried to use RABBITMQ_PASS & RABBITMQ_PASSWORD)

我需要使用环境配置来连接到服务器。 有我的 PHP 代码:

$connection = new AMQPStreamConnection($_ENV['RABBITMQ_HOST'], $_ENV['RABBITMQ_PORT'], $_ENV['RABBITMQ_DEFAULT_USER'], $_ENV['RABBITMQ_DEFAULT_PASS']);

我尝试了很多东西,例如,我创建了一个rabbitmq.env文件,并将配置写在那里,但它不起作用

另外,还有一个错误——

Fatal error: Uncaught PhpAmqpLib\Exception\AMQPIOException: stream_socket_client(): unable to connect to tcp://: (Failed to parse address ":") in /app/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:108

如何解决这个问题?

好的,答案是:我必须在 php 容器中编写此配置,而不是在 rabbitmq 容器中,所以有 docker-compose 代码:

    send:
        build:
          context: './docker'
          dockerfile: Dockerfile
        image: php:7.4.cli
        container_name: send
        ports:
          - 8000:8000
        volumes:
          - ./:/app
        environment:
          RABBITMQ_HOST: '${RABBIT_HOST}'
          RABBITMQ_PORT: '${RABBIT_PORT}'
          RABBITMQ_USERNAME: '${RABBIT_USERNAME}'
          RABBITMQ_PASSWORD: '${RABBIT_PASSWORD}'
        depends_on:
          - rabbit_mq
        command: ["php", "./send.php"]

并在根目录中添加 .env 文件:

RABBIT_HOST=rabbitmq
RABBIT_PORT=5672
RABBIT_USERNAME=guest
RABBIT_PASSWORD=guest

我的PHP代码:

 $connection = new AMQPStreamConnection($_ENV['RABBITMQ_HOST'], $_ENV['RABBITMQ_PORT'], $_ENV['RABBITMQ_USERNAME'], $_ENV['RABBITMQ_PASSWORD']);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM