Хостинг с использованием только nginx

Хостинг с использованием только nginx

В Plesk для Linux вы можете размещать сайты, используя комбинацию nginx и PHP-FPM. В этом случае запросы к сайтам не передаются в Apache, а вместо этого обслуживаются nginx. Хостинг только с nginx является удачным выбором для сайтов на PHP, хотя он также хорошо подходит для статических сайтов и серверов приложений. Вы можете настроить отдельные сайты на обслуживание только nginx без остановки или выключения Apache, и это никак не повлияет на сайты, обслуживаемые Apache.

Примечание. Службы Plesk (например, Webmail) продолжают работать с использованием Apache, и на них не влияет переключение на хостинг только с nginx.

Чтобы включить/выключить хостинг только с nginx для домена:

  1. Откройте страницу Сайты и домены >Настройки Apache & nginx.
  2. В разделе Настройки nginx уберите галочку Режим прокси
  3. Нажмите Применить.

Чтобы вернуться к хостингу с использованием Apache совместно с nginx, поставьте галочку Режим прокси.

Известные ограничения

Когда вы переключаете домен на хостинг только с nginx, возникают следующие ограничения:

  • Обмен файлами становится недоступен.
  • Поддержка SSI, Perl и Python становится недоступна.
  • Вы можете использовать только обработчик PHP "Сервер приложений FPM с nginx".

 
Настройка обработки статических файлов

По умолчанию на серверах Plesk для Linux nginx и Apache работают совместно, при этом Apache обрабатывает динамическое содержимое, а nginx используется как прокси-сервер для обработки статического содержимого. Эта схема обеспечивает оптимальное использование ресурсов сервера и позволяет Plesk быстрее обслуживать запросы к сайтам. Однако в Plesk можно выбрать, как должно быть обработано статическое содержимое сайтов.

Обработка всего статического содержимого с помощью nginx

Такое поведение используется в Plesk для Linux по умолчанию. Как только поступает запрос на статическое содержимое, Apache только определяет местоположение соответствующего файла, а nginx находит и обрабатывает этот файл.

Чтобы обрабатывать все статическое содержимое с помощью nginx:

  1. Перейдите в раздел Сайты и домены > Настройки Apache и nginx и прокрутите вниз до раздела "Настройки nginx".
  2. Выберите опции Режим прокси и Интеллектуальная обработка статических файлов.
  3. Удостоверьтесь, что опция Обрабатывать статические файлы с помощью nginx не выбрана.
  4. Нажмите OK.
Обработка с помощью nginx только файлов с определенными расширениями

При необходимости вы можете сделать так, чтобы только файлы с определенными расширениями обрабатывались как статический контент с помощью nginx. Остальные файлы, которые обычно классифицируются как статическое содержимое, будут обрабатываться с помощью Apache. Важно отметить, что в этом случае запросы к файлам с указанными расширениями вообще никогда не достигают Apache. Следовательно, они не проходят через обработчики Apache. Это означает, к примеру, что правила перезаписи директив .htaccess не применяются.

Чтобы обрабатывать только определенное содержимое с помощью nginx:

  1. Перейдите в раздел Сайты и домены > Настройки Apache и nginx и прокрутите вниз до раздела "Настройки nginx".
  2. Выберите опции Режим прокси и Интеллектуальная обработка статических файлов.
  3. По умолчанию некоторые расширения статических файлов уже заданы в поле Обрабатывать статические файлы с помощью nginx. Вы можете добавить или удалить нужные расширения. Используйте пробел или символ "|" в качестве разделителя для расширений.
  4. Нажмите OK.

Примечание. Включение опции “Обрабатывать статические файлы с помощью nginx” автоматически выключает режим “Интеллектуальная обработка статических файлов”, даже если стоит соответствующая галочка.

Обработка всего статического и динамического содержимого с помощью Apache

При необходимости вы можете отключить nginx и настроить Apache на обработку всего содержимого, как статического, так и динамического. Это может быть полезно в некоторых случаях, например, для диагностики неисправностей nginx. Мы не рекомендуем использовать Apache для обработки всего содержимого на рабочих сайтах.

Чтобы обрабатывать все статическое и динамическое содержимое с помощью Apache:

  1. Перейдите в раздел Сайты и домены > Настройки Apache и nginx и прокрутите вниз до раздела "Настройки nginx".
  2. Поставьте галочку Режим прокси.
  3. Снимите галочки Интеллектуальная обработка статических файлов и Обрабатывать статические файлы с помощью nginx
  4. Нажмите OK.

 
Настройка кэширования с помощью nginx

Настройка кэширования с помощью nginx позволяет прокси-серверу nginx кэшировать определенное динамическое содержимое сайта. Кэшированные данные хранятся в течение короткого периода времени (обычно не дольше нескольких секунд). Это может помочь сократить время загрузки сайта и уменьшить нагрузку на сервер.

Настройка кэширования с помощью nginx рекомендуется только для сайтов, обладающих определенными свойствами (например, для популярных блогов или новостных сайтов):

  • Высокий трафик.
  • Обновление контента каждые несколько секунд.

Настройка кэширования с помощью nginx может быть бесполезной и даже опасной для сайтов со следующими характеристиками:

  • Умеренный или низкий трафик.
  • Обновление содержимого реже, чем раз в несколько секунд.
  • Использование персонализированных данных (например, данных о географическом местоположении посетителя сайта или содержимом его корзины).

Чтобы включить кэширование с помощью nginx:

  1. Откройте страницу Сайты и домены > Настройки Apache & nginx.
  2. В разделе “Настройки nginx” поставьте галочку “Включить кэширование с помощью nginx”.
  3. (Необязательно) Вы можете изменить настройки кэширования с помощью nginx. Если вы не знакомы с кэшированием с помощью nginx, мы рекомендуем вам оставить настройки по умолчанию. Неправильная установка этих настроек может привести к снижению производительности сайта и сервера.
  4. Нажмите OK.
Настройки кэширования с помощью nginx

Настройки кэширования с помощью nginx, отображаемые в интерфейсе Plesk, соответствуют директивам nginx и некоторым записям в конфигурационном файле nginx. Подробности можно увидеть в таблице ниже.

Настройка кэширования с помощью nginx в интерфейсе Plesk

Соответствующая директива nginx

Соответствующий параметр nginx (если он есть)

“Размер кэша“

proxy_cache_path

max_size

“Время ожидания кэша“

proxy_cache_valid

 

“Ключ кэша“

proxy_cache_key

 

“Кэшировать запросы с cookie-файлами“

Указывается в конфигурационном файле nginx

 

“Запретить кэширование для адресов“

Указывается в конфигурационном файле nginx

 

“Не кэшировать, если”

proxy_cache_bypass

 

“Возвращать устаревшие записи кэша”

proxy_cache_use_stale

 

Примечание. Для сайтов, использующих nginx вместе с обработчиком PHP-FPM, директивы proxy_cache* заменяются на fastcgi_cache*. Например, настройка “Ключ кэша“ соответствует директиве fastcgi_cache_key вместо proxy_cache_key.

Настройка “Кэшировать запросы с cookie-файлами“

По умолчанию nginx не кэширует HTTP-запросы, которые содержат HTTP-заголовок Сookie . Вы можете изменить это поведение и настроить в nginx кэширование HTTP-запросов, содержащих некоторые cookie-файлы, указав имена этих файлов в поле “Кэшировать запросы с cookie-файлами”. Например, если вы укажете имена cookie-файлов _ga и _gid, nginx будет кэшировать только те HTTP-запросы, заголовок Сookie которых содержит имена _ga или _gid. Nginx не будет кэшировать HTTP-запросы с заголовком Сookie, содержащим хотя бы одно имя cookie-файла, не указанное в этом поле.

куки

Настройка “Запретить кэширование для адресов“

Вы можете сократить нагрузку на сервер, запретив nginx кэшировать определенное веб-содержимое (например, динамическое содержимое, которое нечасто просматривается). Для этого укажите необходимые $request_uri в поле “Запретить кэширование для адресов”. Например, если вы укажете адрес /wp-admin/, nginx не будет кэшировать содержимое, относящееся к панели управления администратора WordPress.

uri

Примечание. Если вы хотите указать несколько значений в поле “Кэшировать запросы с cookie-файлами“ или “Запретить кэширование для адресов“, укажите каждое из них в отдельной строке.

 
Настройки по умолчанию

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

Значения, которые вы введете вручную, заменят собой настройки по умолчанию. Единственное исключение - это параметр Запретить доступ к сайту: при регулировании доступа к вашему сайту будут учитываться IP-адреса как из стандартной конфигурации, так и введенные вами. В случае конфликта (например, если вы разрешите доступ IP-адресу, запрещенному в стандартной конфигурации), будут использоваться ваши значения.