Лак Nginx Nginx Django?

Я недавно видел ссылку на neercs, который является созданным использованием подобной экрану утилиты libcaca, цветной художественной ASCII библиотекой. Среди других функций это имеет способность захватить существующий процесс и повторно породить его в Вашем neercs (экран) сессия.

Я не использовал его однако, таким образом, я не могу прокомментировать, работает ли это или нет.

13
задан 13 April 2017 в 15:14
4 ответа

Мы говорим 1 - 3 сервера фронтэнда всего, не крупная ферма сервера с выравниванием нагрузки между уровнями?

Помещение nginx перед Исчезает, позволяет Вам сделать сжатие HTTP на лету. Это - лучшая практика производительности, но она могла обойтись без. (Содержание в Лаке часто сохраняется несжатым, так, чтобы ESI Включал работу, и таким образом, Вы не должны иметь дело с несколькими кэшированными версиями того же объекта в зависимости от, Варьируются заголовок / соответствие браузера.)

Относительно nginx на сервере приложений - Apache с mod_wsgi не рекомендуемый и наиболее распространенный способ развернуть новые установки Django в наше время? Я не знаю о неопровержимом доводе использования nginx/fastcgi по Apache/mod_wsgi для Django; но необходимо получить совет от эксперта Django.

Относительно Лака, имеющего привлекательные функции выравнивания нагрузки, которые не имеет nginx, я не вижу, каковы они? Лак имеет случайную и циклическую балансировку. nginx имеет циклический алгоритм, клиентский IP и последовательное хеширование - я не вижу значительного преимущества для Лака? Это - VCL или Лак' корректная перезагрузка конфигурации или что-то еще?

Поскольку маленький сервер 1-3 устанавливает, я предполагаю, что просто сделал бы

Лак-> Apache / mod_wsgi / Django

или возможно

Сквид-> Apache / mod_wsgi / Django

и проигнорируйте сжатие HTTP для простоты, если bandwith не является дорогим.

Обновление:

Graham Dumpleton записал ценный комментарий ниже. Он упоминает очень общую установку для, например, блога на VPS или маленькую веб-ферму без кэширования:

nginx-> Apache / mod_wsgi / Django

Это - очень хорошее решение по нескольким причинам:

  1. Простая установка
  2. nginx, который имеет высокую скорость и минимальные издержки, обрабатывает статическое обслуживание файлов и проверку активности соединения браузера.
  3. Django работает в превосходном mod_wsgi Graham Dumpleton, рекомендуемой платформе для Django.

Причина я не упоминал это первоначально, состоит в том, что OP, казалось, потребовал Лака, очень высокопроизводительного решения для кэширования. nginx / Apache / mod_wsgi комбинация не может сделать кэширования с уровнем производительности и гибкости, которая соответствует Лаку.

10
ответ дан 2 December 2019 в 21:24
  • 1
    Вы могли даже использовать ' nginx - > Apache/mod_wsgi/Django' поскольку многие люди делают на различных серьезных основаниях. –  Graham Dumpleton 5 November 2009 в 22:15
  • 2
    Другая вещь, которую nginx обеспечивает в том варианте использования который много wouldn' t понимают, то, что nginx изолирует Apache от медленных клиентов. Это вызвано тем, что содержание запроса до определенного размера isn' t переданный потоком nginx. Вместо этого это буферизует заголовки запроса и довольный и только проксирует запрос, когда это будет иметь все это. Это означает, что только передает его к Apache, когда вся информация должна была обработать запрос, доступно. Таким образом Apache/mod_wsgi будет занят в течение наименьшего количества возможного времени и процессы/потоки, не занятые медленным клиентом. Мера буферизации происходит на реверсе также, таким образом, Apache может закончиться более быстрый также. –  Graham Dumpleton 6 November 2009 в 03:21
  • 3
    @Graham Dumpleton: очень хорошо иметь Вас здесь, я надеюсь, что Вы останетесь вокруг. :-). Относительно nginx мультиплексирования HTTP / умная обработка соединения, я полностью согласен. –  Jesper M 6 November 2009 в 05:47
  • 4
    Прежде всего, благодарен за то, что Jesper и Graham не торопятся для записи таких всесторонних ответов. Я - планирование помещения сервера выравнивания нагрузки перед двумя серверами приложений. Один сервер обработает большую часть трафика со вторым, используемым главным образом для, заменяют и новые возможности тестирования бета-версии. –  Enrico 7 November 2009 в 13:28
  • 5
    Лак обращается, потому что он дает мне полный контроль, по которому запросы отправлены к который бэкенд. Лак также серверы бэкэнда проверок состояния, обработка отказа проста установить, и это обрабатывает медленные/мертвые бэкенды корректно (если оба сервера перестают работать). –  Enrico 7 November 2009 в 13:29

Можно использовать nginx без лака, чтобы проксировать и кэшировать содержание.

4
ответ дан 2 December 2019 в 21:24
  • 1
    лак имеет некоторые привлекательные функции выравнивания нагрузки это nginx doesn' t из поля –  Enrico 5 November 2009 в 13:34
  • 2
    какие функции, например? –  silent 7 November 2009 в 10:57

У меня есть быть использующим Nginx, Лаком и Apache/mod_wsgi/Django успешно. Я запустил со следующей конфигурации:

Nginx -> Apache/mod_wsgi/Django

После того как я начал видеть значительную нагрузку на Apache, я добавил Лак:

Nginx -> Varnish -> Apache/mod_wsgi/Django

Я использую Nginx как своего рода "маршрутизатор URL". Администраторские запросы Django отправлены непосредственно от Nginx до Apache. Клиентские запросы отправлены от Nginx для Лакировки, который кэширует запросы от Apache и также служит "украшенным" объектам от кэша, если серверы приложений недоступны.

Мой сервер Nginx также служит определенному статическому содержанию непосредственно (например, изображения, CSS и файлы JavaScript).

В целом производительность была превосходна. Я заметил несколько протестов, что я должен упомянуть:

  1. На оживленном сайте, перезапуская Лак может заставить загрузку пронзать на серверах приложений, поэтому лучше сводить перезапуски Лака к минимуму. (Лак, кажется, не имеет "перезагрузку" как Nginx/Apache, где это просто перечитывает свои файлы VCL). С другой стороны перезагрузка конфигурации Nginx оказывает минимальное влияние. Поэтому я делаю большую часть перезаписи URL и "маршрутизации" в Nginx.
  2. Лак легок отбросить промежуточный Nginx и Apache. Если Вы начинаете замечать высокую нагрузку на свои серверы приложений, добавляя, что лак даже с конфигурацией по умолчанию может действительно иметь значение.
  3. При использовании Лака определенно необходимо думать о том, как Вы идете в аннулирование кэша описателей.
  4. Мой опыт состоял в том, что Лак обрабатывает неудавшиеся бэкенды немного более корректно, чем Nginx (как Вы указали ранее).
4
ответ дан 2 December 2019 в 21:24

Я использую Nginx-> Лак-> uWSGI-> Django

2
ответ дан 2 December 2019 в 21:24

Теги

Похожие вопросы