» » Сервер nginx

7-07-2017, 20:08

Сервер nginx

Настраиваем веб-сервер на базе Nginx + PHP-FPM в Debian / Ubuntu Server

nginx

В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами.

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

OpenSource в заметках

Если ожидается высокая нагрузка на жёсткий диск, можно сделать по процессу на каждый физический жёсткий диск, поскольку вся работа будет всё-равно ограничена его производительностью. В ней можно задать максимальное количество соединений, которые одновременно будет обрабатывать один процесс-воркер, и метод, который будет использоваться для получения асинхронных уведомлений о событиях в ОС. Конечно же, можно выбрать только те методы, которые доступны на вашей ОС и были включены при компиляции.

сервер nginx

Эти параметры могут оказать значительное влияние на производительность вашего сервера. Их надо подбирать индивидуально, в зависимости от ОС и железа. Я могу привести только несколько общих правил. Модули работы с событиями: В последнем случае, впрочем, скорее всего понадобится тюнить ОС. Это описание виртуальных серверов, и некоторых параметров, общих для них всех.

nginx

Я опущу стандартные настройки, которые есть в каждом конфиге, типа путей к логам. Системный вызов sendfile появился в Linux относительно недавно. Он позволяет отправить данные в сеть, минуя этап их копирования в адресное пространство приложения.

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

Linux Introduction To Nginx Web Server

Обдумайте, как именно на вашем сайте посылаются запросы, и исправьте этот параметр. Для сайтов, активно использующих AJAX, соединение лучше держать подольше, для статических страничек, которые пользователи будут долго читать, соединение лучше разрывать пораньше. Учтите, что поддерживая неактивное keepalive-соединение, вы занимаете коннекшн, который мог бы использоваться по-другому. Чаще всего, nginx используется именно как сервер-прокси, соответственно они имеют довольно большое значение.

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

Помните, чем больше эти таймауты, тем дольше будут ждать ответа ваши пользователе, при тормозах бэкенда.

сервер nginx
Рекомендуем посмотреть:
Комментарии (0)