sql >> データベース >  >> NoSQL >> Redis

セロリはピアによって接続をリセットします

    ピアエラーによって接続が停止していることがわかり、RabbitMQがポートをリッスンしていないか、ファイアウォールがポートをブロックしていると想定しました。そうではありませんでした。

    Ubuntu 16.04.2 LTSでRabbitMQを実行し、aptによってインストールされたバージョン:3.5.7-1ubuntu0.16.04.1

    Rabbitのポート5672の「netstat-a」の出力は次のようになりました。

    $ netstat -a|grep -i amqp
    tcp6       0      0 [::]:amqp               [::]:*                  LISTEN
    

    ただし、Rabbitは実際にはIPv4アドレスとIPv6アドレスの両方をリッスンしていました。これをnetcatで確認しました。

    別のマシンからRabbitにアクセスするには、次のコマンドのようなユーザーアカウントを設定する必要があります。

    sudo rabbitmqctl add_user celery celerypassword
    sudo rabbitmqctl add_vhost celery_vhost
    sudo rabbitmqctl set_user_tags celery celerytag
    sudo rabbitmqctl set_permissions -p celery_vhost celery .* .* .*
    

    問題は私のURLでした。私のは次のように見えました:

    BROKER_URL = 'amqp://celery:[email protected]//'
    

    その後、最後から2番目のスラッシュがvhostの名前になります。上記では、vhostにcelery_vhostという名前を付けました。接続するには、URLを次のように変更する必要がありました:

    BROKER_URL = 'amqp://celery:[email protected]/celery_vhost'
    

    / var / log/rabbitmqのRabbitログを見てこれを発見しました。 URLが間違っていると次のエラーが含まれる.logファイルがあります:

    {handshake_error,opening,0,
    {amqp_error,access_refused,
    "access to vhost '/' refused for user 'celery'",
    'connection.open'}}
    


    1. MongoDB $ strcasecmp

    2. Docker Composeを使用してRedisコンテナに接続するにはどうすればよいですか?

    3. phpからmongoDBのIDで参照されているドキュメントを削除するにはどうすればよいですか?

    4. 春にフィルター集約を作成する