AWS ALB + Django + Gunicorn + - Nginx? - PullRequest
0 голосов
/ 23 мая 2018

Я создаю среду в AWS для размещения приложения django.Я пытаюсь выяснить, должен ли я использовать nginx как часть сборки.

Ниже я приведу несколько различных сред для примера / сравнения.Во всех средах используется AWS ALB.

ENV 1

ALB -> dockercontainer под управлением django

  • + использует встроенный веб-сервер django,работают статические файлы
  • - встроенный веб-сервер django не предназначен для производственного использования

ENV 2

ALB -> Dockercontainer под управлением django / gunicorn

  • + использует gunicorn (не веб-сервер django)
  • - статические файлы НЕ работают

ENV 3

ALB -> dockercontainer под управлением django / gunicorn + nginx

примечание: я еще не тестировал эту конфигурацию.

  • + использует gunicorn (не веб-сервер django)
  • +использует nginx
  • статические файлы должны работать

Я читаю этот стека и сообщения о переполнении стека и понимаю различные роли gunicorn против nginx.

Якогда коллега сообщил мне, что ENV 2 - это все, что мне нужно, что я должен иметь возможность обслуживать статические файлы с ним, что ALB обеспечиваетИмилар функциональность для NGINX.Это правильно?

1 Ответ

0 голосов
/ 23 мая 2018

Просто для пояснения - «ALB» означает Application Load Balancer, который отличается от более старого Elastic Load Balancer тем, что трафик может маршрутизироваться на основе URI.

Однако, какой бы балансировщик нагрузки вы ни указывалиЯ полагаю, что вам понадобится nginx в этом миксе, так как балансировщики нагрузки AWS не предоставляют никаких возможностей для обслуживания файлов.Если ваши статические файлы имеют согласованный шаблон URI, вы можете использовать ALB для обслуживания статических файлов из S3 или CloudFront.

...