NGiNX

NGiNX

Сервер NGiNX

NGiNX (engine x — англ. Engine X; по-русски произносится как энгинкс или энжин-икс) — веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах (тестировалась сборка и работа на FreeBSD, OpenBSD, Linux, Solaris, Mac OS X, AIX и HP-UX). Начиная с версии 0.7.52 появилась экспериментальная бинарная сборка под Microsoft Windows. NGiNX позиционируется производителем как простой, быстрый и надёжный сервер, не перегруженный функциями.

  • Применение 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 рабочие процессы обслуживают одновременно множество соединений, мультиплексируя их вызовами операционной системы select, epoll (Linux) и kqueue (FreeBSD). Рабочие процессы выполняют цикл обработки событий от дескрипторов. Полученные от клиента данные разбираются с помощью конечного автомата. Разобранный запрос последовательно обрабатывается цепочкой модулей, задаваемой конфигурацией. Ответ клиенту формируется в буферах, которые хранят данные либо в памяти, либо указывают на отрезок файла. Буфера объединяются в цепочки, определяющие последовательность, в которой данные будут переданы клиенту. Если операционная система поддерживает эффективные операции ввода-вывода, такие как writev и sendfile, то nginx применяет их по возможности.

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

nginx.conf — конфиг NGiNX в ISPmanager Lite 5 (Debian 8 связка NGiNX + Apache)

При настройке конфигурации сервера в связке NGiNX + Apache требуется правильно настроить обе серверные программы так, чтобы одна слушала 80-й порт. Обычно это NGiNX, который отдаёт всю статику, а динамические запросы (php-скрипты) отдаёт на порт 8080, на котором висит Apache, который в свою очередь подхватывает и обрабатывает динамические запросы. Таким образом разгружается Apache и он может в полной мере работать только на обработке данных, для которых он более заточен. А вся статика, не нагружая Apache, раздаётся NGiNX. Таким образом настроенная система использует сильные стороны обеих программ, которые дополняют друг друга, снимая с них ту нагрузку, для которых они не предназначены. Правильно настроенное серверное ПО позволяет максимально использовать ресурсы аппаратной стороны работающего сервера, ускоряя отдачу запрашиваемого контента (то есть ощутимо влияет на скорость работы сайта).

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

nginx.conf — содержимое конфига NGiNX сразу после установки

На готовом сервере перед началом (или продолжением) работ по настройке Web-сервера NGiNX нужно знать, где лежит его основной конфигурационный файл. Для этого можно выполнить команду locate nginx.conf, но если NGiNX не запущен, то система выдаст недоумение по поводу запроса и ничего не покажет. Поэтому сразу скажу, что искать конфиг NGiNX в Debian следует по этому пути: → /etc/nginx/nginx.conf.

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Обновление NGiNX до текущей стабильной версии для Debian 9

В процессе работы с сервером нужно периодически просматривать актуальность установленных программ и при необходимости обновлять их до последней стабильной версии. В этой статье рассмотрим, как обновить версию NGiNX до начала работ по его настройке. При настройке нового сервера, как и поддержании в рабочем состоянии работающего, всегда лучше делать проверку на актуальность установленной версии, и только после того, как будет понятно, что стоит последняя стабильная версия, производить дальнейшие манипуляции с данной программой.

Подкатегории