Бесплатная миграция IT-инфраструктуры в облако
На главную
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:

    A039621a 74fd 4152 8ed5 874522508d3b

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

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

    58fc488f 6afc 456c Ab12 2374abd3ca9a

  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. Сохраните изменения и проверьте работу сайта.
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев