Настройка WordPress, Bitrix, Opencart на VPS/VDS и Full SSD хостинге nginx + php-fpm

Так как Full SSD хостинг использует высокопроизводительную связку nginx + php-fpm при использовании CMS необходимо выполнить ряд настроек так как данная связка исключает работу Apache, то перестанет работать файл .htaccess. Если у Вас есть
правила в данном файле, то необходимо будет сконвертировать их с помощью сервиса https://winginx.com/ru/htaccess и добавить в конфиг файл (пункт 4 данного мануала).

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

Внимание! Данный мануал так же подходит для VPS/VDS серверов с панелью управления ISPmanager Lite 5. Для изменения на тарифах FULL SSD хостинга свяжитесь, пожалуйста, с отделом технической поддержки.

Итак, приступим:

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

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

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

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 блока.

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

Если по каким-то причинам Вам не удалось перейти на FastCGI (nginx + php-fpm), свяжитесь с нашей технической поддержкой и мы постараемся вам помочь.