Настройка связки Nginx, PHP-FPM и ISPmanager вручную

Настройка связки Nginx, PHP-FPM и ISPmanager вручную

Хотите заменить Apache на Nginx и настроить PHP-FPM в ISPmanager вручную? В этой статье покажем, как правильно организовать связку Nginx + PHP-FPM, не нарушив работу панели, и обеспечить стабильную и быструю работу сайта на VPS.

Введение

По умолчанию ISPmanager использует Apache в качестве веб-сервера. Однако для более высокой производительности, особенно при работе с современными CMS, всё чаще выбирают связку Nginx и PHP-FPM. Эта конфигурация позволяет значительно ускорить отклик сайта, снизить нагрузку на сервер и упростить масштабирование.

Несмотря на то, что в ISPmanager нет встроенной функции переключения на Nginx в качестве основного веб-сервера, всё можно настроить вручную. В этой статье разберём, как правильно установить и подключить Nginx с PHP-FPM, сохранить совместимость с ISPmanager и не потерять управление через панель.

Аренда VPS/VDS — от ₽219/месяц

Почему выбирают VPS от AdminVPS:

✓ Дешевле физического сервера

✓ Более гибкий и мощный, чем обычный хостинг

✓ Бесплатная защита от DDoS и техподдержка 24/7

✓ Масштабируется под любые задачи

Виртуальный сервер VPS/VDS — ваш личный сервер для сайтов, магазинов, ботов и других проектов.

Что потребуется

Перед началом убедитесь, что у вас есть:

  • VPS с root-доступом.
  • Установленный ISPmanager 5 или 6 (поддерживаются оба).
  • Отключённый Apache (возможности → web-сервер → Apache → отключить).
  • Установленные nginx и php-fpm.

Шаг 1. Установка необходимых компонентов

Для работы связки Nginx + PHP-FPM на VPS необходимо установить оба компонента вручную. Ниже приведены команды для CentOS 7/8. Если вы планируете использовать более новую версию PHP (например, 8.1 или 8.2), подключите дополнительный репозиторий Remi.

  1. Установка Nginx:
yum install epel-release -y && yum install nginx -y
  1. Подключение репозитория Remi (для актуальных версий PHP):
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils
yum-config-manager --enable remi-php81
  1. Установка PHP и PHP-FPM с базовыми модулями:
yum install php php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd -y

Вы можете дополнительно установить модули в зависимости от требований CMS (например, php-curl, php-soap, php-intl и т.д.).

  1. Добавление в автозагрузку и запуск сервисов:
systemctl enable php-fpm nginx
systemctl start php-fpm nginx
  1. Проверка работы:

Убедитесь, что службы активны:

systemctl status php-fpm
systemctl status nginx

Если вы используете Debian/Ubuntu, синтаксис команд отличается (apt install, systemctl, add-apt-repository и т.д.) — следуйте инструкциям, актуальным для вашего дистрибутива.

Шаг 2. Настройка PHP-FPM

  1. Откройте файл конфигурации пула (обычно: /etc/php-fpm.d/www.conf).
  2. Найдите и измените параметры:
listen = 127.0.0.1:9000
user = nginx
group = nginx
  1. Убедитесь, что директива listen.owner и listen.group соответствуют пользователю веб-сервера (чаще всего nginx).
  2. Перезапустите PHP-FPM:
systemctl restart php-fpm

Шаг 3. Настройка шаблона веб-сервера в ISPmanager

ISPmanager использует шаблоны конфигурации веб-сервера. Чтобы задать поведение Nginx, создаём или редактируем файл:

/usr/local/mgr5/etc/templates/nginx/web_domain.tpl

Пример базового шаблона:

server {
    listen %ip%:%httpport%;
    server_name %domain_idn%;
    root %docroot%;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    access_log /var/www/httpd-logs/%domain%.access.log;
    error_log /var/www/httpd-logs/%domain%.error.log;
}

После внесения изменений перегенерируйте конфигурации через ISPmanager или вручную.

Шаг 4. Отключение Apache

Если Apache всё ещё включён, отключите его, но не удаляйте (ISPmanager может зависеть от некоторых его утилит):

systemctl stop httpd && systemctl disable httpd

Шаг 5. Включение Nginx как основного веб-сервера

Добавьте его в автозагрузку и запустите:

systemctl enable nginx && systemctl start nginx

Шаг 6. Проверка работоспособности

  1. Убедитесь, что Nginx слушает нужный порт:
ss -tulpn | grep nginx
  1. Проверьте, работает ли PHP через phpinfo().
  2. Убедитесь, что сайты, добавленные через ISPmanager, открываются корректно.

Дополнительные настройки

  • SSL — добавьте блок listen 443 ssl; и путь к сертификатам.
  • Редиректы и правила CMS — пропишите вручную в шаблоне или файле .conf для каждого сайта.
  • Кеширование — можно дополнительно настроить FastCGI-кеш в Nginx.

Заключение

Ручная настройка связки Nginx и PHP-FPM в ISPmanager требует внимательности, но позволяет добиться заметного прироста производительности на VPS. Вы получите более гибкую и быструю систему, сохранив при этом управление сайтами через удобную панель. Такой подход особенно ценен при работе с ресурсами на WordPress, OpenCart или Bitrix, где важна каждая миллисекунда отклика.

Читайте в блоге:

Loading spinner
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Нужен VPS сервер?

Арендуйте мощный VPS сервер для ваших проектов! Быстрая настройка, высокая производительность и надежная поддержка 24/7. Начните прямо сейчас!

Что будем искать? Например,VPS-сервер

Мы в социальных сетях