Режим FastCGI (Nginx + PHP-FPM) — один из самых производительных режимов работы PHP, который уступает по скорости только LSAPI. Его использование зачастую может помочь оптимизировать сайт и ускорить его работу.
Однако при переводе сайта на PHP-FPM потребуется выполнить дополнительные настройки:
- Правила, прописанные в
.htaccess, перестанут применяться. Вам будет необходимо указать аналогичные директивы в конфигурационном файле Nginx. Чтобы упростить процесс, можно воспользоваться каким-либо сервисом в сети, который позволяет сконвертировать директивы.htaccessдля Nginx. - Если вы используете CMS, также будет нужно внести изменения в конфигурационный файл. В статье ниже мы приведем настройки для CMS Wordpress, Joomla, Opencart и Битрикс.
Установка Nginx
Для работы с PHP-FPM на сервере должен быть установлен Nginx. Установить его можно так:
- В разделе «Конфигурация ПО» кликните дважды по строке «Веб-сервер».
- Выберите пункты «Nginx» и «PHP-FPM FastCGI».
- Сохраните изменения и дождитесь завершения установки.

Настройки веб-сервера в интерфейсе ispmanager
Перевод сайта на PHP-FPM
- В первую очередь необходимо проверить, какую версию PHP использует сайт в данный момент и в каком режиме работает PHP. Сделать это можно в разделе «Сайты» под пользователем
root:

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

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

Раздел «Сайты» и меню действий с сайтом в интерфейсе ispmanager
- Внесите изменения в файл, в зависимости от используемой 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; }
- Сохраните изменения и проверьте работу сайта.