Php-fpm: установка і настройка

Сучасне програмування – це розподілена обробка зростаючих обсягів інформації. Локальні інструменти в далекому минулому. Актуальні веб-сервери, розподілені колективи розробників і споживачів. Завдання та області застосування перетворилися в потоки запитів, на які потрібні миттєві відповіді.

Php – популярна мова програмування, але він «тече» за власною ініціативою і забезпечує благодатний грунт для кваліфікованих розробників створювати тонни неефективного коду. Програміст-початківець перспективніше аса комп’ютерних технологій на тій простій підставі, що відноситься до роботи акуратно, уважно і старанно вирішує поставлену задачу мінімальним об’ємом коду.

Причини появи і ідея fpm

Не потрібно «бахать» тонни коду від іменитих попередників у вирішення задачі, достатньо написати красивий і добре коментований код. Але саме великому кодом, популярних веб-ресурсів, технологічних недоліків Php і зростання навантаження (відвідувачів) на веб-ресурси зобов’язані своїм народженням численні варіанти прискорення обробки запитів на веб-сервери.

Звичайний сервер бере все навантаження на себе, розписує її по процесам і хитромудрим логікам. Його потужність обмежена, і він змушений ставити нові запити в чергу, поки не впорається з тими, що вже в роботі.

Різні варіанти SAPI (Server API) в тій чи іншій мірі вирішували завдання швидкої обробки потоку запиту, але обмеження залишалися. Поява Nginx представило веб-ресурс як сукупність статики і динаміки, перевело роботу по обслуговуванню хостингу в сферу подій і управління навантаженням.

На веб-сторінці не так багато Php, але завжди багато тексту, зображень та інших елементів, які можна сміливо відправляти в браузер відвідувача відразу, без обробки яким-небудь процесом сервера. Тільки коли на сторінці є Php-код, слід застосувати Php або Php-fpm.

По суті, мова йде про швидкий менеджер процесів (FastCGI Process Manager). І його можна запускати безліч разів, але тільки за обґрунтованої необхідності. На кожен запит буде власний процес. Наступний запит – наступний процес. Це суттєво змінює стан речей, і сторінка сайту в повному обсязі швидше опиниться в браузері відвідувача.

Не можна сказати, що ідея Nginx і Php-fpm – ліки від усіх проблем, але у багатьох випадках – це відмінне рішення для створення продуктивного веб-сервера. Можна піти ще далі, поєднавши досвід і мудрість Apache з молодістю і амбітністю Nginx. В такому випадку, громіздкі процеси можна відправити до Apache, а легкі сторінки – Php-fpm.