nginx 1.19.7

Опубликовано August@Karro - пт, 02/19/2021 - 13:59

Теги

Nginx — веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах.

Nginx позиционируется производителем как простой, быстрый и надёжный сервер, не перегруженный функциями. Применение целесообразно прежде всего для статических веб-сайтов и как обратного прокси-сервера перед динамическими сайтами.

В nginx рабочие процессы обслуживают одновременно множество соединений, мультиплексируя их вызовами операционной системы select, epoll (Linux) и kqueue (FreeBSD). Рабочие процессы выполняют цикл обработки событий от дескрипторов (см. Событийно-ориентированное программирование). Полученные от клиента данные разбираются с помощью конечного автомата.

Разобранный запрос последовательно обрабатывается цепочкой модулей, задаваемой конфигурацией. Ответ клиенту формируется в буферах, которые хранят данные либо в памяти, либо указывают на отрезок файла. Буфера объединяются в цепочки, определяющие последовательность, в которой данные будут переданы клиенту. Если операционная система поддерживает эффективные операции ввода-вывода, такие, как writev и sendfile, то nginx применяет их по возможности. 

HTTP-сервер:

  • Обслуживание неизменяемых запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов.
  • Акселерированное проксирование без кэширования, простое распределение нагрузки и отказоустойчивость.
  • Поддержка кеширования при акселерированном проксировании и FastCGI.
  • Акселерированная поддержка FastCGI и memcached-серверов, простое распределение нагрузки и отказоустойчивость.
  • Модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked-ответы, HTTP-аутентификация, SSI-фильтр.
  • Несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно.
  • Поддержка SSL.
  • Поддержка PSGI, WSGI.
  • Экспериментальная поддержка встроенного Perl.

SMTP/IMAP/POP3-прокси сервер:

  • Перенаправление пользователя на SMTP/IMAP/POP3-бэкенд с использованием внешнего HTTP-сервера аутентификации.
  • Простая аутентификация (LOGIN, USER/PASS).
  • Поддержка SSL и STARTTLS.

Основные изменения в новой версии:

  • При исчерпании рабочим процессом свободных соединений, nginx теперь закрывает не только keepalive-соединения, но и соединения в состоянии ожидания закрытия сокета ("lingering close").
  • Код обработки соединений в HTTP/2 приближен к реализации HTTP/1.x. Поддержка отдельных настроек "http2_recv_timeout", "http2_idle_timeout" и "http2_max_requests" прекращена в пользу общих директив "keepalive_timeout" и "keepalive_requests".
  • Удалены настройки "http2_max_field_size" и "http2_max_header_size", вместо которых следует использовать "large_client_header_buffers".

Конфигурация HTTP-сервера nginx разделяется на виртуальные серверы (директива «server»). 

 

Последние материалы