2.7.3. PHP-FPM

Тільки для бізнес-хостингу

PHP-FPM доступний тільки на бізнес-хостингу.

PHP-FPM (FastCGI Process Manager) — це альтернативна реалізація режиму FastCGI в PHP. У поєднанні з nginx забезпечує вищу швидкість обробки запитів, ніж поєднання nginx + Apache, доступне за замовчуванням.

  • Можна використовувати версію PHP не нижче 7.0.
  • Правила в .htaccess не застосовуються.
  • Процеси PHP-FPM запущені постійно і споживають пам'ять, яка враховується в квоті хостинг-акаунта. При великій кількості одночасно працюючих запитів може вимагатися великий обсяг оперативної пам'яті.
  • PHP обробляє тільки файли з розширенням .php.
  • Стандартним індексним файлом є index.php. Для порівняння: на запит до /html/ Apache поверне вміст файлу /html/index.html, якщо він існує, а PHP-FPM в такій ситуації поверне помилку 403, якщо каталог /html/ існує, або спрямує запит на /index.php, якщо каталогу /html/ не існує. При виборі конфігурації PHP-FPM «Dokuwiki» стандартним індексним файлом буде вважатися doku.php.
  • Маршрути налаштовані наступним чином:
    • Якщо звернення йде до конкретного файлу з розширенням .php — цей файл запускається (наприклад, запит до /path/test.php запускає файл /path/test.php, якщо такого файлу не існує — повертається помилка «File not found»).
    • Якщо звернення йде до URL існуючого каталогу — запускається index.php з цього каталогу (наприклад, запит до /wp-admin/ запускає файл /wp-admin/index.php, якщо файлу index.php в каталозі немає — повертається помилка 403).
    • Усі інші запити переспрямовуються до /index.php (запитаний URL буде доступний у $_SERVER['REQUEST_URI']).

Після зміни веб-сервера на PHP-FPM з'являється можливість вибрати один з доступних варіантів конфігурації:

  • «За замовчуванням» — запити до файлів *.php передаються безпосередньо в FPM (за відсутності файлу буде помилка 404), інші запити переспрямовуються на /index.php. Підходить для CMS, що не вимагають специфічних налаштувань, наприклад Joomla! або October, а також фреймворків Symfony і Laravel.
  • «Wordpress» — на даний момент те ж саме, що і «За замовчуванням». Можливо, спеціальні налаштування будуть додані в подальшому.
  • «Opencart» — підтримка ЛЗУ в форматі OpenCart. Працює аналогічно варіанту за замовчуванням, тільки запити переспрямовуються на /index.php?route=.
  • «Dokuwiki» — індексний файл doku.php замість index.php, підтримка ЛЗУ в форматі DokuWiki, блокування доступу до каталогів /conf/, /bin/, /inc/ та файлу /install.php.
  • «ModX» — підтримка ЛЗУ в форматі MODX.
  • «Moodle» — підтримка URL виду /index.php/path для Moodle.
  • «PrestaShop» — підтримка ЛЗУ в форматі PrestaShop.
  • «Roundcube» — для поштового клієнта RoundCube.
  • «Bitrix» — для CMS Bitrix.
  1. Ознайомтеся з особливостями роботи PHP-FPM і переконайтеся, що ваш сайт їх враховує.
  2. Відкрийте розділ «Налаштування сайту».
  3. У полі «Веб-сервер» виберіть «PHP-FPM», у полі «Конфігурація PHP-FPM» виберіть потрібну конфігурацію і збережіть зміни:
  4. Зачекайте 10-15 хвилин, поки зміни набудуть чинності.
Зміст

    (2)