Подтвердить что ты не робот

В чем цель параллельной работы NGINX и Gunicorn?

Многие развертывания приложений Django над Amazon EC2 используют HTTP-серверы NGINX и Gunicorn.

Мне было интересно, что они на самом деле делают и почему оба используются параллельно. Какова цель их запуска параллельно?

4b9b3361

Ответ 1

Они не используются параллельно. NGINX - это обратный прокси-сервер. Он первый в очереди. Он принимает входящие соединения и решает, куда они должны идти дальше. Он также (обычно) обслуживает статические носители, такие как CSS, JS и изображения. Он также может выполнять другие функции, такие как шифрование через SSL, кеширование и т.д.

Gunicorn - следующий уровень и является сервером приложений . NGINX видит, что входящее соединение для www.domain.com и знает (через файлы конфигурации), что оно должно передать это соединение на Gunicorn. Gunicorn - сервер WSGI, который в основном представляет собой:

простой и универсальный интерфейс между веб-серверами и веб-приложениями или фреймворками

Задача Gunicorn - управлять и запускать экземпляр Django (аналогично использованию django-admin runserver во время разработки)

В отличие от этой настройки используется Apache с модулем mod_wsgi. В этой ситуации сервер приложений фактически является частью Apache, работающим как модуль.

Ответ 2

Nginx и Gunicorn не используются параллельно.

  • Gunicorn, это реализация сервера интерфейса веб-шлюза (WSGI), которая обычно используется для запуска веб-приложений Python.
  • NGINX - это бесплатный высокопроизводительный HTTP-сервер с открытым исходным кодом и обратный прокси-сервер, а также прокси-сервер IMAP/POP3.
  • Nginx отвечает за обслуживание статического контента, сжатие gzip, ssl, proxy_buffers и другие вещи HTTP. В то время как gunicorn - это сервер Python HTTP, который взаимодействует как с nginx, так и с вашим реальным кодом веб-приложения python для обслуживания динамического контента.

На следующих диаграммах показано, как взаимодействуют nginx и Gunicorn.

Nginx and Gunicorn Overall idea of nginx and Gunicorn