Jakoś małym echem w blogosferze rozeszła sie informacja włączenia dodatku PHP-FPM (FastCGI Process Manager) do wersji 5.3.3 PHP.
A jest to duży skok na przód. PHP-FPM jest to patch zawarty w jądrze PHP, który pozwala zarządzać procesami FastCGI: uruchamiać, zatrzymywać, restartować. Jest to wspaniała wiadomość dla wszystkich osób korzystających z PHP poprzez FastCGI (np. nginx, lighttpd). Do tej pory trzeba było sie np. kłopotać z spawn-fcgi.
Większość osób, które dokonują standardowej instalacji Apache jako serwer WWW + PHP nawet nie zdają sobie sprawy jak to działa. Apache domyślnie obsługuje PHP poprzez własny moduł (mod_php) – w skrócie Apache ładuje całe środowisko w siebie. Dzięki wykorzystaniu FastCGI i FPM otrzymujemy:
- mniejsze zużycie pamięci (dodatkowe workery nginx nie potrzebują środowiska PHP)
- lepsze zarządzanie uprawnieniami PHP bez gimnastyki
- gdy PHP padnie nginx nadal działa
- inteligentne zarządzanie wspólnymi procesami PHP (obniża zużycie pamięci)
Jedyne co należy obecnie zrobić to podczas konfiguracji PHP (przed kompilacją) dodać –enable-fpm.
Skompilowany zarządca będzie czekał w sapi/fpm jako php-fpm. W tym samym katalogu macie również plik konfiguracyjny (php-fpm.conf) oraz skrypt inicjacyjny init.d.php-fpm.
Ja na wszelkich maszynach dedykowanych pod serwery WWW + PHP korzystam właśnie z tej wybuchowej mieszanki.