Изменение настроек nginx для виртуальных серверов

По умолчанию веб-сервер Apache работает в связке с nginx. Это обеспечивает более быструю загрузку веб-страниц и экономию серверных ресурсов. Информацию о том, как Apache и nginx работают по умолчанию, смотрите в разделе Apache и nginx.

Для любого из сайтов вы можете настроить индивидуальный сценарий взаимодействия Apache и nginx. А именно, вы можете указать, какой вид контента (статический или динамический) должен обрабатывать тот или иной сервер. Это может помочь оптимизировать производительность высокозагруженных веб-приложений с большим объемом динамического или статического контента. Данные настройки находятся в панели клиента, на странице Сайты и домены > <имя домена> > Настройки Apache & nginx.

Примечание: Настройки, относящиеся к веб-серверу nginx доступны, только когда он включен.

На приведенных ниже схемах приведены все возможные конфигурации вместе с комментариями об их преимуществах и недостатках.

Обработка статического контента

Следующая таблица показывает, как будет происходить обработка запроса на GIF-файл размером 2 КБ в зависимости от конфигурации nginx.

 

header

 

Интеллектуальная обработка статических файлов включена

default

Это оптимальная конфигурация в плане производительности и надежности.

Запрос передается веб-серверу Apache, который выдает в ответ только расположение файла. Поиск и доставку самого файла выполняет nginx.

Интеллектуальная обработка статических файлов отключена

transparent

nginx передает запросы и ответы без каких-либо изменений, что позволяет использовать данный режим для диагностики связанных с nginx неисправностей.

Файл пересылается дважды: от Apache к nginx и от nginx к клиенту. Это может несколько снизить производительность, особенно в случае с большими файлами.

 

Расширение GIF входит в список Обрабатывать статические файлы с помощью nginx

static_by_nginx

Этот режим обеспечивает более быструю обработку статических файлов.

Обратите внимание, что так как запросы никогда не доходят до веб-сервера Apache, они не проходят через его обработчики. Это означает, что, например, правила перезаписи или директивы .htaccess применяться не будут.

Обработка динамического контента

Следующая таблица показывает, как будет происходить обработка РНР-файла в зависимости от конфигурации nginx.

 

header

 

Опция Обрабатывать PHP-файлы с помощью nginx отключена

Это оптимальная конфигурация в плане производительности и надежности.

Запрос передается веб-серверу Apache, который исполняет файл и возвращает результат.

В зависимости от заданных для сайта настроек хостинга веб-сервер Apache использует один из следующих обработчиков: FastCGI, CGI или модуль Apache. Кроме того, вы можете выбрать свою версию PHP для каждого сайта.

Опция Обрабатывать PHP-файлы с помощью nginx включена

php_nginx

nginx самостоятельно исполняет файл с помощью обработчика PHP-FPM. Обработчик PHP-FPM обладает расширенными возможностями FastCGI, что может улучшить производительность веб-приложений, особенно с большим количеством пользователей.

Обратите внимание, что так как запросы никогда не доходят до веб-сервера Apache, они не проходят через его обработчики. Это означает, что некоторые веб-приложения могут работать с ошибками. Кроме того, не будут применяться .htaccess-директивы и правила перезаписи Apache.

 

Важно. Опция Обрабатывать PHP-файлы с помощью nginx становится доступной только после того, как вы включите поддержку PHP-FPM для nginx. Как это сделать, смотрите в разделе Обработчики PHP.

Добавление дополнительных директив nginx

Дополнительные директивы nginx для того или иного сайта можно указать в поле Дополнительные директивы nginx. При заполнении этого поля используйте такой же синтаксис, как в файле nginx.conf. Например, чтобы сжимать все передаваемые через прокси-сервер запросы с помощью gzip, добавьте следующую строку:

gzip_proxied any;

Обратите внимание, что вашим клиентам поле Дополнительные директивы nginx не показывается.