sql >> Databasteknik >  >> NoSQL >> Redis

Selleri ger anslutningen återställs av peer

Jag hittade anslutningsvilan genom peer-fel och antog att RabbitMQ inte lyssnade på porten eller att det fanns en brandvägg som blockerade den. Så var inte fallet.

Kör RabbitMQ på Ubuntu 16.04.2 LTS, version installerad av apt:3.5.7-1ubuntu0.16.04.1

Utdata från 'netstat -a' för Rabbits port 5672 såg ut så här:

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

Men Rabbit lyssnade faktiskt på både IPv4-adressen och IPv6-adressen. Jag verifierade detta med netcat.

För att nå Rabbit från en annan maskin måste du konfigurera ett användarkonto med något i stil med följande kommandon:

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 .* .* .*

Problemet var min URL. Min såg ut så här:

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

Efter det näst sista snedstrecket är vhostens namn. Ovan gav jag min vhost namnet celery_vhost. För att ansluta behövde jag ändra webbadressen till:

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

Jag upptäckte detta när jag tittade på Rabbit-loggarna i /var/log/rabbitmq. Det finns en .log-fil som innehöll följande fel när jag hade fel URL:

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


  1. Hur ändrar man alla arrayelement i ett mongodb-dokument till ett visst värde?

  2. Hur lagrar man ett binärt objekt i redis med hjälp av nod?

  3. Embedded Redis för Spring Boot

  4. Mongodb Healthcheck steg för steg