- Что есть у веб-сервера интересного
- Команды по управлению сервером
- Что делать на этом сервере начинающим веб-разработчикам
- Что настраивают в файле .confg
- Настройка событий
- И немного про установки
- Заключение
NGINX веб-сервер используют на большинстве сайтов. Он обрабатывает десятки тысяч соединений одновременно. Опытные разработчики рекомендуют пользоваться им, когда необходимо работать с высоконагруженными ресурсами.
К сведению! Многие программисты говорят, что этот сервер при правильной настройке становится производительнее Apache.
Если вы только начинаете изучать программирование сайтов, то этот гайд вам поможет определиться с сервером для интернет-ресурса.
Что есть у веб-сервера интересного
Рассматриваемый сегодня веб-сервер имеет один главный процесс и три или четыре рабочих. Целями ключевого процесса являются чтение и оценка конфигурации, сопровождение рабочих процессов. Последние работают над запросами.
NGINX использует модель, основанную на параметре «Events», и механизмы, которые зависят от ОС, для эффективной раздачи запросов рабочим процессам. Число рабочих процессов находится в документе конфигурации. Опытный веб-разработчик исправляет его для конкретной конфигурации NGINX, либо количество процессов автоматически корректируется в соответствии с числом ядер CPU системного блока.
Методы работы с веб-сервером и его модулями находятся в документе под названием NGINX.conf. Этот файл располагается в папке, которую находят по следующему пути: /usr/local/nginx/conf, /etc/nginx или /usr/local/etc/nginx.
Команды по управлению сервером
Давайте рассмотрим основные команды для работы на веб-сервере:
- nginx -v — протестировать версию Nginx, собранные параметры конфигурации и установленные модули;
- nginx -t — просмотреть конфигурационный файл и найти его расположение;
- nginx -s reload — перезагрузить файл конфигурации, не затрагивая работу Nginx;
- nginx.exe — запуск сервера;
- nginx -s stop — остановка сервера.
Теперь поговорим о том, как установить веб-сервер, провести настройку Nginx и работать с ним.
Что делать на этом сервере начинающим веб-разработчикам
Существует два способа установки веб-сервера:
- установить из пакетов;
- скомпилировать исходники.
Если будете использовать первый метод, то сможете провести установку легко и просто. Со вторым методом вам придется повозиться, но зато появится возможность подключить сторонние модули и фреймворки. Это даст провести настройки веб-сервера под себя и под нужды сайта, который создаете.
Чтобы установить сервер на операционную систему Debian, вам потребуется прописать следующий код:
«sudo apt-get update
sudo apt-get install nginx»
Если вы сомневаетесь в правильности установки NGINX, то запустите эту команду, чтобы увидеть, что все установилось правильно.
«sudo nginx -v
nginx version: nginx/1.6.2»
О том, где располагается виртуальное устройство, уже было сказано выше. Необходимо помнить, что важной папкой будет каталог sites-available и сам файл NGINX.conf.
Теперь надо перейти к настройкам веб-сервера. Для этого переходите к указанию того, кто работает на сервере. Прописываете команду «user nobody». Затем выбираете число процессов, которое должно быть задействовано. Опытные разработчики указывают число, равное количеству ядер на процессоре, но вам придется поэкспериментировать. Только с помощью экспериментов вы поймете, что и как у вас будет работать с высокими показателями производительности. Для примера прописываете «worker processes 2».
Чтобы логи ошибок не искать по всему серверу, указываете следующий файл, куда они будут приходить: «error_log /spool/logs/nginx/nginx.error_log notice».
Что настраивают в файле .confg
Пока не касаясь событий и не настраивая их, давайте посмотрим на параметры конфигурационного документа веб-сервера:
- worker_processes — здесь настраивается количество рабочих процессов, и с помощью них сервер обрабатывает уведомления и запросы сайта. Так как NGINX имеет только один главный поток, то это число будет равно количеству ядер ЦПУ;
- worker_connections — суммарное число одновременно подключившихся пользователей для каждого worker_процесса. Эта характеристика показывает, какое число юзеров один сервер сможет обслужить. Когда увеличивается эта цифра, то повышается количество запросов от юзеров, которых сможет обработать виртуальная машина;
- access_log & error_log — это документы, которые виртуальная машина использует для логирования всех ошибок и попыток входа. Опытные разработчики советуют в первую очередь проверять эти документы, когда возникают проблемы и при поиске неисправностей;
- gzip — это свойство задает параметры компрессии GZIP для NGINX-ответов. Если подключить его вместе с другими параметрами, то производительность сайта сильно пойдет вверх. Из дополнительных характеристик GZIP рекомендуется взглянуть на gzip_comp_level. Он показывает уровень сжатия. Вычисляется по десятибалльной шкале. Этот параметр не должен быть выше шести баллов, потому что при 7 или 10 баллах прирост производительности станет незначительным;
- gzip_types — список видов ответов. К ним будет применяться компрессия.
Теперь, узнав о параметрах, можно поговорить про события и попытаться их настроить.
Настройка событий
Следующая настройка будет касаться такого параметра, как «Events». Опытные разработчики советуют настраивать его индивидуально. Задается максимальное количество процессов, которые будет обрабатывать воркер. Сюда же прописываете метод, который будет использоваться для получения асинхронных уведомлений.
Важно! Параметры для «events» подбираются строго индивидуально, так как они будут оказывать сильное воздействие на работу процессора и жесткого диска. Поэтому тестируете, какую нагрузку выдержит ваше железо.
Ниже прописаны некоторые модули работы с «events».
- select и poll — это медленные модули, которые загружают процессор и снижают производительность. Их можно найти везде, и работать они будут тоже без сбоев;
- kqueue и epoll — эффективные модули. Найти их можно в операционной системе FreeBSD и Linux 2.6;
- rtsig — еще один эффективный метод. Его поддерживают старые ОС Линукс. Возможны сбои в работе и при подключении;
- /dev/poll — работает в странных и экзотических ОС типа Солярис, хотя показывает себя тружеником в операционных системах.
И немного про установки
Настройки на сервере называют директивами. Опытные разработчики называют их key-value. Установки, прописываемые в коде с фигурными скобками, именуются контекстом.
Ниже представлены некоторые из настроек с фигурными скобками для сервака NGINX.
- global — общие директивы;
- events — директива обрабатывает события воркер-процессов;
- http — настраивает http- и https-соединения;
- server — директива веб-серверов;
- location — директива обрабатывает или ищет идентификатор запроса.
Это только верхушка айсберга, с которым вам предстоит познакомиться на обучении работе с сервером NGINX при загрузке сайта в Интернет.
Заключение
При большом числе настраиваемых параметров NGINX — это отличный заменитель других веб-серверов для управления интернет-ресурсом. Его можно эксплуатировать в качестве HTTP-прокси, балансировщика нагрузки для веб-сервера. Если вы только начали изучать программирование и интересуетесь разработкой сайтов, курсы от DevEducation вам помогут стать отличным веб-разработчиком.