2012-05-24 2 views
3

Это вопрос для начинающих, но мне трудно понять абстракцию между Gunicorn и Nginx. Я не ищу подробный ответ, просто на высоком уровне, какую роль играет каждая из них? Как они взаимодействуют?Разница между Gunicorn и Nginx

ответ

2

Per Gunicorn's deploy doc, я понимаю, что вы используете Nginx в качестве прокси-сервера для Gunicorn.

Как Gunicorn портирован из Ruby's Unicorn, я предполагаю, что ограничения и спецификации Unicorn применяются к Gunicorn, а также:

Unicorn является HTTP-сервер для приложений, предназначенных для Rack служат только быстрых клиентов по низким -latency, высокоскоростные соединения и использовать преимущества функций в Unix/Unix-подобных ядрах. Медленным клиентам необходимо, чтобы обслуживался путем размещения обратного прокси-сервера, способного полностью буферизовать как запрос, так и ответ между единорогом и медленными клиентами.

Gunicorn's deploy doc много говорит то же самое:

Хотя Есть много прокси HTTP доступны, мы настоятельно рекомендуем , что вы используете Nginx. Если вы выберете другой прокси-сервер, вам нужно будет убедиться, что он буферизует медленные клиенты, когда вы используете стандартные рабочие Gunicorn . Без этой буферизации Gunicorn будет легко восприимчив к атакам типа «отказ в обслуживании».

Таким образом, Gunicorn обслуживает клиентов с высокой пропускной способностью с низкой задержкой, а Nginx обслуживает остальных.

Смежные вопросы