Nas instalações atuais do Apache HTTP do CentOS, o tipo padrão do MPM é o “Event” ao invés do “Pre-fork”, o que pode ser visto pelo comando “httpd -V”.
Por isso, ao instalar o php, o modo de funcionamento é através do PHP-FPM (FastCGI Process Manager for PHP).
O protocolo FastCGI é baseado no Common Gateway Interface (CGI), um protocolo que fica entre aplicativos e servidores web como Apache HTTP. Isso permite que os desenvolvedores escrevam aplicativos separadamente do comportamento dos servidores web. Os programas executam seus processos de forma independente e passam seus produtos para o servidor web por meio deste protocolo. Cada nova conexão que necessita de processamento por um aplicativo criará um novo processo. Ao combinar o evento MPM no Apache HTTP com o PHP FastCGI Process Manager (PHP-FPM), um site pode carregar mais rápido e lidar com mais conexões simultâneas enquanto usa menos recursos.
Você verá esses processos em execução pelo comando: # ps axu |grep php
E suas configurações também estão no “conf.d/php.conf”:
# Redirect to local php-fpm (no mod_php in default configuration) # <IfModule !mod_php.c> # Enable http authorization headers SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 <FilesMatch \.(php|phar)$> SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost" </FilesMatch> </IfModule> # # mod_php is deprecated as FPM is now used by default with httpd in event mode # mod_php is only used when explicitly enabled or httpd switch to prefork mode
Estudamos o funcionamento do FastCGI/PHP junto ao NGINX nessa aula.