Как развернуть Python Celery worker на EC2 (текущая ошибка 111: Connection refused)?

Технологии: Python, Django, AWS, RabbitMQ on AWS, Celery

В настоящее время у меня есть веб-сайт моей компании, развернутый на экземпляре EC2. Все работает хорошо, моя текущая задача - запустить Celery worker, но каждый раз, когда я пытаюсь это сделать, я получаю ошибку 111:Connection refused.

Celery работает, RabbitMQ работает, но я предполагаю, что, возможно, у меня неправильная настройка, поскольку у меня все в правильных VPC и группах безопасности.

ФАЙЛЫ:

settings.py

CELERY_BROKER_URL = 'amqps://<username>:<password>@<awspath>.mq.us-west-2.amazonaws.com:5671'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_TASK_DEFAULT_QUEUE = env("CELERY_TASK_DEFAULT_QUEUE", default="default")
CELERY_BROKER_TRANSPORT_OPTIONS = {
   "region": env("AWS_REGION", default="us-west-2"),
}
CELERY_RESULT_BACKEND = None

procfile

celery: celery -A bsw_site worker -l INFO

init.py

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app

__all__ = ('celery_app',)

журнал ошибок

2022/10/20 20:57:13 [error] 4189#4189: *35 connect() failed (111: Connection refused) while connecting to upstream, client: 10.176.11.163, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8000/favicon.ico", host: "<company_website_link>", referrer: "<company_website_link>"

nginx_conf.conf

user                    nginx;
error_log               /var/log/nginx/error.log warn;
pid                     /var/run/nginx.pid;
worker_processes        auto;
worker_rlimit_nofile    200000;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    fastcgi_read_timeout 7200;
    proxy_read_timeout 7200;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    include       conf.d/*.conf;

    map $http_upgrade $connection_upgrade {
        default     "upgrade";
    }

    server {
        listen        80 default_server;
        access_log    /var/log/nginx/access.log main;

        client_header_timeout 60;
        client_body_timeout   60;
        client_max_body_size  50M;
        keepalive_timeout     60;
        gzip                  off;
        gzip_comp_level       4;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        # Include the Elastic Beanstalk generated locations
        include conf.d/elasticbeanstalk/*.conf;
    }
}

Заранее благодарю за любую помощь. Я могу предоставить больше информации.

Вернуться на верх