Tornar al blog
Gener 13, 2026Guies

Com configurar el PHP-FPM per a un rendiment òptim

Guia completa sobre la configuració dels paràmetres de la reserva de PHP-FPM, el sintonització del rendiment i la integració amb l'Nginx.

Com configurar el PHP-FPM per a un rendiment òptim

El PHP-FPM (FastCGI Process Manager) és una implementació alternativa de PHP FastCGI amb funcions addicionals útils per a llocs web amb molt de trànsit. Una configuració adequada pot millorar significativament el rendiment del vostre servidor i la utilització dels recursos.

Instal·lació del 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 i habilitar el PHP-FPM
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Configuració de la reserva de PHP-FPM

Editeu el fitxer de configuració de la reserva per optimitzar el rendiment:

bash
sudo nano /etc/php/8.1/fpm/pool.d/www.conf

# Configuracions clau:
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data

# Gestió 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 = 500

Sintonització del rendiment

Optimitzeu el PHP-FPM per als recursos del vostre servidor:

bash
# Calcular el max_children òptim:
# (RAM total - Altres serveis) / (Memòria per procés PHP)
# Exemple: (2 GB - 500 MB) / 50 MB = 30 max_children

# Editar el php.ini per a un millor rendiment
sudo nano /etc/php/8.1/fpm/php.ini

# Configuracions recomanades:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M

# Reiniciar el PHP-FPM
sudo systemctl restart php-fpm

Configuració de l'Nginx

Configureu l'Nginx perquè funcioni amb el PHP-FPM:

bash
sudo nano /etc/nginx/sites-available/el-vostre-domini.com

# Afegir el tractament 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;
}

# Provar i tornar a carregar l'Nginx
sudo nginx -t
sudo systemctl reload nginx

Supervisió del PHP-FPM

bash
# Comprovar l'estat del PHP-FPM
sudo systemctl status php-fpm

# Veure els processos de PHP-FPM
ps aux | grep php-fpm

# Comprovar l'estat de la reserva (si la pàgina d'estat està habilitada)
curl http://localhost/status

# Veure els registres
sudo tail -f /var/log/php8.1-fpm.log

Consells d'optimització del PHP-FPM

  • Ajusteu el pm.max_children segons la RAM disponible
  • Utilitzeu pm = dynamic per a la majoria de casos d'ús
  • Establiu el pm.max_requests per evitar filtracions de memòria
  • Habiliteu l'opcache per a un millor rendiment
  • Superviseu l'estat del PHP-FPM regularment
  • Utilitzeu reserves separades per a diferents aplicacions
  • Mantingueu el PHP i el PHP-FPM actualitzats