En un sitio compartido, su servidor vecino experimenta un pico de WooCommerce y su blog se ralentiza porque mod_php multiplica los procesos de Apache repletos de PHP en la memoria. En un VPS bien administrado, cada sitio tiene su grupo FPM bajo un usuario Unix separado: la fuga o saturación de un cliente no sobrescribe a los demás.
mod_php integra PHP en el proceso de Apache. PHP-FPM ejecuta PHP en trabajadores separados, con Apache o Nginx pasando solicitudes a través de FastCGI. Para varios sitios, la pregunta no es religiosa: ¿qué memoria y aislamiento de seguridad entre inquilinos?
mod_php frente a PHP-FPM
| Apariencia | mod_php | PHP-FPM |
|---|---|---|
| Modelo de proceso | Apache + PHP acoplado | Grupos PHP independientes |
| Memoria bajo carga | Explotar (trabajadores × PHP) | pm.max_niños en la piscina |
| Aislamiento multisitio | Bajo | Fuerte (usuario + grupo) |
| Servidor web | Apache especialmente | Nginx o Apache |
| Configuración | Limitado | pm, registro lento, página de estado |
| Alojamiento compartido | Historia | VPS estándar/dedicado |
Alojar diez WordPress en mod_php en un VPS es como apilar diez bombas de memoria con un solo detonador.
mod_php: cuando permanece visible
Heredado compartido. No tienes otra opción: el anfitrión lo administra.
Aplicación monolítica única, poco tráfico. Aceptable con OPcache y amplio margen de RAM.
Restricción de complemento poco común que requiere mod_php: cada vez más excepcional.
Migración recomendada desde acceso raíz y segundo sitio.
PHP-FPM: mejores prácticas para múltiples sitios
Un usuario de Unix por cliente (site_a, site_b). Un grupo por sitio en /etc/php/8.x/fpm/pool.d/. pm.on-demand o dynamic dependiendo del tráfico; Evite la "estática" de gran tamaño. open_basedir limitado a docroot. Registro lento habilitado. Socket Unix o TCP localhost: nunca FPM expuesto a Internet.
Pila común: Nginx → socket Unix FPM → PHP 8.x más OPcache más caché de objetos Redis WordPress. Equivalente de Apache: deshabilite mod_php, habilite proxy_fcgi para grupos.
Rendimiento y seguridad
Se requiere OPcache en ambos modos. Versión PHP homogénea por pool. PHP CVE: parche del sistema operativo; FPM permite recargar sin cortar Apache o Nginx completo. Sitio A comprometido en mod_php compartido → es posible leer archivos del sitio B; Un usuario separado de FPM limita el radio de impacto.
La cumbre: el aislamiento no es una opción para múltiples inquilinos
Decide y avanza sin puntos ciegos
Un sitio en VPS personal: PHP-FPM por costumbre más margen de ajuste. Agencia multicliente: pool obligatorio más usuarios, auditoría anual de slowlogs. Compartido: migre clientes sensibles a VPS FPM u oferta administrada. Mida la RAM por grupo a través de pm.status_path antes del próximo período pico. Consulte Apache o Nginx WordPress y el directorio hosts VPS.
Preguntas frecuentes
¿mod_php está obsoleto?
No recomendado para sitios múltiples y bajo carga. PHP-FPM se recomienda con Nginx y Apache event MPM durante años.
¿Un solo sitio necesita PHP-FPM?
No estrictamente; El mejor control de memoria en VPS moderno. OPcache más grupos separados sigue siendo el valor predeterminado sensato.
¿Cómo aislar a dos clientes?
Grupo de FPM dedicado más usuario de Unix más open_basedir más vhost separado: mod_php nunca compartido.
PHP-FPM con Apache?
Sí, a través de proxy_fcgi: Apache sirve HTTP, FPM ejecuta PHP sin mod_php integrado.
¿Cuántos sitios PHP se están ejecutando en su servidor? Si la respuesta es mayor que uno y todavía estás en mod_php, la migración de FPM no es un lujo: es un seguro de comunidad.
