簡體   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