Gunicorn + Nginx - Ресурс временно недоступен при подключении к восходящему потоку
Мы используем gunicorn + supervisor + nginx для запуска приложения django с использованием среды docker на beanstalk
Проблема в том, что супервизор показывает, что gunicorn работает, но все запросы не проходят с кодом ответа 502 от nginx. Процесс Gunicorn не восстанавливается даже при отсутствии трафика на экземпляре.
Идейно я думаю, что супервизор должен перезапустить процесс gunicorn, так как он не может успешно ответить на любой запрос.
Нагрузка: ~1700 запросов в мин/инстанс - c6a.large instance
server_tokens off;
upstream wsgi_server {
# fail_timeout=0 means we always retry an upstream even if it failed
# to return a good HTTP response (in case the Unicorn master nukes a
# single worker for timing out).
server unix:/run/django_app.sock fail_timeout=0;
}
server {
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Protocol $http_x_forwarded_proto;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
proxy_pass http://wsgi_server;
}
}
2022/10/10 12:35:26 [error] 21#21: *728396 connect() to unix:/run/django_app.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 172.31.53.68, server: *.service.vpc, request: "GET /user/ HTTP/1.1", upstream: "http://unix:/run/django_app.sock:/user/", host: "service.vpc"
Дополнительно, Как отладить зависший gunicorn worker, чтобы выяснить, где именно кроется проблема