Janeiro 13, 2026Guias
Como configurar o PHP-FPM para desempenho ideal
Guia completo sobre a configuração das definições do pool de PHP-FPM, ajuste de desempenho e integração com o Nginx.

O PHP-FPM (FastCGI Process Manager) é uma implementação alternativa do PHP FastCGI com funcionalidades adicionais úteis para websites de alto tráfego. A configuração correta pode melhorar significativamente o desempenho do seu servidor e a utilização de recursos.
Instalar o PHP-FPM
bash
# Ubuntu/Debian
sudo apt update
sudo apt install php-fpm php-mysql php-mbstring php-xml php-curl -y
# CentOS/RHEL
sudo yum install php-fpm php-mysql php-mbstring php-xml php-curl -y
# Iniciar e ativar o PHP-FPM
sudo systemctl start php-fpm
sudo systemctl enable php-fpmConfigurar Pool de PHP-FPM
Edite o ficheiro de configuração do pool para otimizar o desempenho:
bash
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
# Definições chave:
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data
# Gestão de processos
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 500Ajuste de desempenho
Otimize o PHP-FPM para os recursos do seu servidor:
bash
# Calcule o max_children ideal:
# (RAM Total - Outros serviços) / (Memória por processo PHP)
# Exemplo: (2GB - 500MB) / 50MB = 30 max_children
# Editar php.ini para melhor desempenho
sudo nano /etc/php/8.1/fpm/php.ini
# Definições recomendadas:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M
# Reiniciar o PHP-FPM
sudo systemctl restart php-fpmConfiguração do Nginx
Configure o Nginx para trabalhar com o PHP-FPM:
bash
sudo nano /etc/nginx/sites-available/yourdomain.com
# Adicionar tratamento de PHP:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Testar e recarregar o Nginx
sudo nginx -t
sudo systemctl reload nginxMonitorizar o PHP-FPM
bash
# Verificar estado do PHP-FPM
sudo systemctl status php-fpm
# Ver processos de PHP-FPM
ps aux | grep php-fpm
# Verificar estado do pool (se a página de estado estiver ativa)
curl http://localhost/status
# Ver logs
sudo tail -f /var/log/php8.1-fpm.logDicas de otimização de PHP-FPM
- Ajuste o pm.max_children baseado na RAM disponível
- Use pm = dynamic para a maioria dos casos de uso
- Defina pm.max_requests para prevenir fugas de memória
- Ative o opcache para melhor desempenho
- Monitorize o estado do PHP-FPM regularmente
- Use pools separados para diferentes aplicações
- Mantenha o PHP e o PHP-FPM atualizados