База знаний: Linux Server
Переход на nginx + php-fpm в ISP Manager 5/6
Автор Алексей | HiTex.BY, Последнее изменение: Алексей | HiTex.BY на 14 июня 2022 16:36

Внимание! Для перевода сайта на CMS WordPress, Joomla, OpenCart, Bitrix необходимы дополнительные действия.

  1. Зайдите в панель управления хостингом под root пользователем (не обычным пользователем) в раздел www-домены. Далее Вам необходимо посмотреть, какому пользователю принадлежит сайт, который Вы хотите перевести на FastCGI, и на какой версии php он работает.
Запоминаем владельца и версию php

2) После этого, нам надо зайти во вкладку пользователи, выбрать пользователя, которому принадлежит сайт, и нажать на него 2 раза .

3) Выбираем пункт «Версия PHP (PHP-FPM)». В нем необходимо выставить такую же версию php, какая сейчас стоит у Вас на сайте. После выставления, нажимаем «Ok«.

Выставляем такую же версию, как у нас стояла на режиме apache

4) После этого возвращаемся во вкладку www-домены и меняем прежний режим работы на FastCGI (nginx + php-fpm) Сохраняем изменения.

Теперь мы можем попробовать зайти на сайт и проверить, все ли ссылки на сайте работают корректно, но, как правило, работает только главная страница, а все остальные отдают 404 ошибку.

Если у Вас похожая ситуация, то необходимо прописать дополнительный редирект.

5) Для этого в той же вкладке www-домены выбираем домен и нажимаем на кнопку «Конфиг».

Далее, в зависимости от Вашей CMS, выбираем один из вариантов:

a) Если у Вас WordPress, Joomla

Находим строку:

location / {

Под ней необходимо добавить наш редирект:

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

б) Если у Вас Битрикс

Редирект необходимо будет прописать после блока 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;
}

Должно получиться вот так:

в) Если у Вас Opencart, то редирект необходимо вставить в блок location / :

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

ВАЖНО!!! Если у Вас на сайте используется SSL сертификат, то таких блоков у Вас будет два в разделе «конфиг». Необходимо прописать отдельно для http блока, и отдельно для https блока.

После того, как Вы прописали редирект, сохраняем конфиг и проверяем работу сайта.

(1 голос(а))
Эта статья полезна
Эта статья бесполезна

Комментарии (0)