Nginx

Nginx (eNGIne X, «Энджинкс» или «Энджин-икс») — это программное обеспечение с открытым исходным кодом для создания легкого и мощного веб-сервера. Также его используют в качестве почтового или обратного прокси-сервера. Nginx решает проблему падения производительности с ростом трафика и является самым популярным веб-сервером в России и вторым в мире.

Логотип Nginx

Nginx разработал Игорь Сысоев, системный администратор «Рамблера», в 2002 году, чтобы решить проблему с проседанием под нагрузкой. В 2004 году продукт стал доступен для широкого круга пользователей и получил одобрение. С 2011 года выпуском занимается собственная фирма Игоря, которая через 2 года представила расширенную платную версию продукта (Nginx Plus).

Сейчас Nginx обслуживает соединения, обрабатывает запросы, которые поступают к серверу, а также используется:

  • для обработки запросов с сайтов, где много статического неизменного контента;
  • обслуживания серверов, на которые поступает много запросов одновременно;
  • в качестве прокси, почтового сервера или для распределения нагрузки на серверную часть.

Особенности Nginx

Высокая скорость

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

Гибкость

Программное обеспечение гибко конфигурируется и настраивается под потребности инфраструктуры.

Малое потребление памяти

Чтобы уменьшить нагрузку на оперативную память, Nginx использует выделенный сегмент памяти — «пул» (pool). Он динамический и может расширяться при увеличении длины запроса.

Хорошая поддержка

У Nginx активное комьюнити и хорошая клиентская поддержка, а документация доступна и на русском языке.

Доступность

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

Как работает Nginx

Когда пользователь совершает действие на странице, информация передается на сервер. Он находит файлы, передает сведения.

Если обрабатывать запросы каждого пользователя по отдельности, серверу придется одновременно выполнять много процессов. Сайт начнет работать медленно. Nginx позволяет обойти ограничение. Его архитектура асинхронная: все запросы обрабатываются на разных этапах, что повышает скорость обработки.

Запросы от одного пользователя разбиваются на маленькие структуры — сетевые соединения. Обработка происходит быстрее: за однотипные действия отвечает один процесс. После обработки соединения собираются в одном виртуальном контейнере, чтобы преобразоваться в единый первоначальный запрос, а затем отправляются пользователю. Благодаря такому принципу работы Nginx одно сетевое соединение может обслуживать до 1024 запросов.

Как работает Nginx

Для каких ОС подходит Nginx

Nginx работает на серверах, где установлены ОС на базе UNIX, включая Linux, MacOS, FreeBSD и OpenBSD. Поддержка Windows и подобных систем ограничена, но все же присутствует. ПО написано на базе UNIX-подобной операционной системы.

Что выбрать: Nginx или Apache

Apache — главный конкурент Nginx. Существует дольше, поэтому имеет более крупное комьюнити. Работать с Apache легче за счет простой архитектуры и полноценной поддержки Windows. При работе с динамическим контентом показывает такую же производительность, как Nginx. Но статический контент Nginx обрабатывает в 2,5 раза быстрее, потребляя при этом меньше памяти.

Nginx может работать в связке с Apache. Если запрос приходит на выдачу статического материала, его обрабатывает Nginx. Если пользователю нужен динамический контент (графика, видео), подключается Apache. 

Другие термины на букву «N»

NestJS
NLP
Node.js
NoSQL
NumPy

Все термины

Освойте новую профессию

(рейтинг: 5, голосов: 6)
Добавить комментарий