На главную

61c46507-12c7-4300-a301-bd8bc30c7c19 Инструкции для серверов

PHP в режиме Nginx + PHP-FPM

Режим FastCGI (Nginx + PHP-FPM) — самый производительный режим работы PHP. Его использование зачастую может помочь оптимизировать сайт и ускорить его работу.

Однако при переводе сайта на PHP-FPM потребуется выполнить дополнительные настройки:

  • Правила, прописанные в .htaccess, перестанут применяться. Вам будет необходимо указать аналогичные директивы в конфигурационном файле Nginx. Чтобы упростить процесс, можно воспользоваться каким-либо сервисом в сети, который позволяет сконвертировать директивы .htaccess для Nginx.
  • Если вы используете CMS, также будет нужно внести изменения в конфигурационный файл. В статье ниже мы приведем настройки для CMS Wordpress, Joomla, Opencart и Битрикс.

Перевод сайта на PHP-FPM

Перечисленные ниже шаги предполагают, что Nginx уже установлен. Если это не так, предварительно нужно выполнить:

  • В разделе НастройкиКонфигурация ПО выбрать Веб-сервер и нажать Изменить.
  • Отметить пункт Nginx, чтобы установить его, и пункт PHP-FPM FastCGI
  • Применить изменения и дождаться завершения установки.
  1. В первую очередь необходимо проверить, какую версию PHP использует сайт в данный момент и в каком режиме работает PHP. Сделать это можно в разделе Сайты под пользователем root:

    1

  2. В разделе Пользователи выберите нужного пользователя и нажмите Изменить
  3. На вкладке Доступ отметьте пункт Может использовать PHP в режиме FastCGI (Nginx + PHP-FPM).
  4. В разделе Сайты:
  • кликните дважды по нужному сайту;
  • на вкладке Дополнительные возможности выберите режим работы FastCGI (Nginx + PHP-FPM);
  • укажите ту версию PHP, которая сейчас используется на сайте (см. шаг 1).

    Nginx
  1. Проверьте работоспособность страниц сайта. Как правило, большинство страниц, кроме главной, будут отдавать ошибку 404. В этом случае нужно выполнить дополнительные настройки, а именно прописать редирект.
  2. В разделе Сайты выделите строку с нужным доменом, кликните на три точки для дополнительных опций и выберите Файлы конфигурации.

    Config

  3. Внесите изменения в файл, в зависимости от используемой CMS.

Wordpress, Joomla

В конфигурационном файле найдите блок, который начинается со строки:

location / {

Сразу под этой строкой пропишите редирект:

try_files $uri $uri/ /index.php?q=$uri&$args;

Opencart

В конфигурационном файле найдите блок, который начинается со строки:

location / {

Сразу под этой строкой пропишите редирект:

if (!-e $request_filename){
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}

Обратите внимание, что при использовании SSL у вас будет два блока location в файле, и редирект необходимо прописать в них обоих.

Битрикс

В конфигурационном файле найдите следующий блок:

location @php {

Под этим блоком (не под данной строкой) вставьте блок с редиректом:

location ~* /\.ht {
deny all;
}

location ~ ^/(?!(\.well-known)) {
if (!-e $request_filename) {
rewrite ^(.*)$ /bitrix/urlrewrite.php last;
}
}

if (!-f $request_filename) {
rewrite ^(.*)/index.php$ $1/ redirect;
}
  1. Сохраните изменения и проверьте работу сайта.
15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону