Содержание
Эта статья расскажет вам, как улучшить производительность вашего сайта, переведя его на FastCGI с использованием nginx и php-fpm. Это особенно актуально для тех, кто использует FastCGI в режиме модуля Apache или CGI.
Переход на FastCGI предоставляет значительные преимущества в скорости, но также влечет за собой некоторые изменения, например, отсутствие поддержки файла .htaccess в Apache. Если у вас есть специфические правила в этом файле, их нужно будет сконвертировать с помощью сервиса winginx.com/ru/htaccess и добавить в конфигурационный файл в рамках данного руководства.
Также обратите внимание, что если вы используете LSAPI на стандартном виртуальном хостинге, он также обеспечивает хорошую производительность. Для FastCGI (nginx + php-fpm) потребуются более мощные тарифные планы, подходящие для работы с любыми CMS.
Важно! Для сайтов на CMS, таких как WordPress, Joomla, OpenCart, Bitrix, потребуются дополнительные действия, которые мы рассмотрим далее.
Обратите внимание, что это руководство предназначено для VPS-серверов с панелью управления ISPmanager Lite 5. Для перехода на мощный виртуальный хостинг, пожалуйста, свяжитесь с отделом продаж.

Процесс перехода на fast-cgi
1. Войдите в панель управления хостингом как root (не как обычный пользователь), перейдите в раздел www-домены и определите владельца сайта и версию PHP, используемую на сайте.
2. Затем перейдите во вкладку пользователи, выберите владельца сайта и дважды кликните по нему.
3. Выберите пункт «Версия PHP (PHP-FPM)» и установите ту же версию PHP, которая использовалась ранее.
4. Возвращайтесь во вкладку www-домены и измените режим работы на FastCGI (nginx + php-fpm), сохраните изменения.
После перехода на FastCGI, возможно, что некоторые страницы сайта будут выдавать ошибку 404.
5. Чтобы исправить это, вернитесь в www-домены, выберите домен и нажмите «Конфиг». В зависимости от вашей CMS, добавьте соответствующий редирект:
Конфигурация для WordPress или Joomla в nginx
С использованием хостинга для сайтов на WordPress или Joomla вам нужно добавить следующий блок в конфигурацию nginx:
location / { try_files $uri $uri/ /index.php?q=$uri&$args;}```
Конфигурация для Битрикс в nginx
Для сайтов на Битрикс конфигурация будет выглядеть иначе:
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 в nginx
Для Opencart конфигурация выглядит следующим образом:
location / { if (!-e $request_filename){ rewrite ^/(.+)$ /index.php?_route_=$1 last; }}```
Важные замечания
- Эти конфигурации являются лишь примерами и могут потребовать дополнительной настройки в зависимости от специфики вашего сервера и приложения.
- Убедитесь, что после внесения изменений в конфигурационные файлы nginx, вы проверяете их на наличие ошибок командой `nginx -t` и перезагружаете или перезапускаете nginx, чтобы применить изменения.
- Если у вас есть SSL-сертификат, убедитесь, что вы внесли соответствующие изменения как в HTTP, так и в HTTPS блоках конфигурации.