NGINX — быстрый и эффективный веб-сервер

Согласно статистике W3Tech, Apache является самым популярным веб-сервером в 2016 году, занимая долю рынка более 50% всех операторов веб-сайтов. Однако если взглянуть на эти цифры с другой стороны и принять во внимание только 10 000 самых посещаемых сайтов, то вырисовывается альтернативная картина: только около 30% этих сайтов используют серверную технологию 1995 года. А среди 1 000 наиболее часто используемых серверов это число сокращается до 27%.

Отчасти эту цифру можно объяснить непропорционально большим количеством работающих веб-серверов Google (около 10%), на которых работают все страницы Google. Другая причина, однако, может быть связана с быстрым ростом российского веб-сервера NGINX. Еще совсем недавно, в 2010 году, NGINX был лишь одной из многочисленных альтернатив Apache с долей рынка около 4%. Сегодня же это программное обеспечение, лицензированное BSD, используется в каждом втором веб-проекте из 10 000 и 1 000 лучших соответственно.

Что такое NGINX?

Российский инженер-программист Игорь Сысоев — главный мозг, стоящий за выпуском серверного программного обеспечения в 2004 году. Как и сегодня, в те времена основной задачей было создание исключительно высокопроизводительного сервера, способного обслуживать как можно больше клиентов, не используя при этом слишком много ресурсов. В связи с растущей популярностью сервера в 2011 году Сысоев основал компанию NGINX Inc., которая с тех пор отвечает за дальнейшее развитие программного обеспечения. Помимо бесплатной стандартной версии, компания также предлагает NGINX plus — платный вариант с поддержкой и дополнительными функциями, такими как улучшенная балансировка нагрузки.

Как и Apache, NGINX построен по модульному принципу. Это означает, что множество различных функций доступны через соответствующие модули, которые администраторы могут активировать или деактивировать. Вот список некоторых функций, к которым у вас будет доступ:

  • Ускорение приложений: позволяет быстрее отображать контент.
  • Обратное проксирование: позволяет использовать NGINX в качестве обратного прокси (HTTP, TCP, UDP) для ускорения работы веб-сайтов или в качестве почтового прокси (MAP, POP3, SMTP).
  • Шифрование TLS: обеспечивает безопасную передачу данных
  • Управление полосой пропускания: обеспечивает всем сервисам оптимальную полосу пропускания
  • Балансировка нагрузки: разгружает сервер man, перенаправляя запросы.
  • Потоковое видео: обеспечивает высокую операционную производительность при потоковой передаче мультимедиа MP4 и FLV.

В то время как Apache открывает новый поток или процесс для каждого запроса клиента, серверы NGINX работают в событийно-ориентированной манере. Это позволяет обрабатывать запросы асинхронно, что экономит как рабочую память, так и время. Серверное программное обеспечение также поддерживается целым рядом операционных систем, включая многочисленные варианты Unix/Linux, в том числе Mac OS и Windows-серверы.

Установка и настройка NGINX

Те, кто выбрал дополнение «плюс», проходят процесс установки через службу поддержки NGINX. Обычно, однако, установка выполняется в соответствии с пресловутыми шаблонами менеджера пакетов, поскольку большинство дистрибуторов Linux включают пакет NGINX в свой репозиторий по умолчанию. В случае отсутствия пакета, его исходный код можно быстро и легко загрузить с официального сайта NGINX [Официальный сайт NGINX] (https://www.nginx.com/products/download-oss/). В следующих шагах мы покажем, как устанавливается и настраивается веб-сервер под Linux.

1. С помощью следующей команды обновите менеджер пакетов, чтобы после установки ваша система перешла на самую новую версию пакета NGINX:

sudo apt-get update
sudo apt-get install nginx

2. NGINX обычно запускается сразу после первого шага. Для того чтобы проверить, правильно ли работает программное обеспечение, просто вызовите целевую страницу NGINX через доменное имя сервера или публичный IP-адрес в браузере. После успешной установки вы должны получить следующее сообщение:

3. Все, что необходимо для настройки NGINX, можно найти в каталоге /etc/nginx или в центральном конфигурационном файле nginx.conf. Всякий раз, когда вы вносите изменения в этот файл, вам необходимо перезапустить сервер с помощью одной из двух следующих команд, чтобы эти изменения были приняты:

sudo service nginx reload
sudo service nginx restart

С помощью параметров start и/или stop пользователи могут полностью отключить службу и запустить ее снова.

4. Синтаксис конфигурационного файла имеет следующие характеристики:

  • Параметры: все параметры начинаются с соответствующего имени переменной. Через пробел можно добавить один или несколько аргументов — они заканчиваются точкой с запятой.
worker_connections 768;
  • Первичные настройки: некоторые настройки, например переменная events, содержат аргументы, которые затем могут представлять собой настройки со своими собственными аргументами. Эти вложенные параметры содержат фигурные скобки ({}).
events {
  worker_connections 768;
  multi_accept on;
}
  • Хэштег (#): это инструкции, которые были деактивированы, закомментированы хэштегом. Удаление этого символа снова активирует настройки. Таким образом, в случае следующей конфигурации
# multi_accept on;

опция одновременного приема нескольких клиентов была деактивирована.

  • Остановки табуляции и многократные пробелы: NGINX интерпретирует установленные табуляции и многократно установленные пробелы как один единственный пробел.  При настройке NGINX вы можете использовать этот аспект, чтобы обеспечить легкость чтения и структурированность конфигурационного файла.

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

Что делает NGINX таким популярным

Существует множество причин растущей популярности NGINX. Прежде всего, программное обеспечение веб-сервера соответствует современным требованиям многих веб-проектов. Это связано с тем, что NGINX не только достигает первоклассных результатов при обработке большого количества клиентских запросов, но и работает чрезвычайно эффективно, что делает это программное обеспечение идеальным ответом на ограниченную производительность многих мобильных соединений для передачи данных. Как оператору веб-сайта, NGINX поможет вам быстро доставить контент всем пользователям, включая пользователей мобильных устройств. Более того, продукт с открытым исходным кодом от российской команды разработчиков покорил многих пользователей гибкостью, которую предлагает это программное обеспечение. Помимо классического варианта веб-сервера HTTP, NGINX также обеспечивает убедительную производительность при решении задач обратного проксирования (например, в качестве прокси-сервера электронной почты или балансировщика нагрузки).

Несмотря на все эти достоинства, NGINX не является панацеей для серверных решений: виртуальный хостинг, управляемый с помощью защищенных паролем разделов или внутренних перенаправлений, довольно сложно настроить. Такие разделы и переписывания могут быть созданы только в центральном конфигурационном файле и реализованы путем перезапуска сервера. После этого любые возникающие ошибки затрагивают всех участников экземпляра shared-хостинга. Именно здесь Apache все еще может пригодиться, так как индивидуальные настройки в отдельных файлах .htaccess могут быть записаны.

Оцените статью
cdelat.ru
Добавить комментарий