Per-site PHP-FPM pools create clear boundaries: one noisy or broken site doesn’t have to impact the others. This guide covers when it’s worth it, what to standardize, and the mistakes that bite back.
When it’s worth it
- Multi-tenant or multi-site hosting
- One “problem child” site
- Different PHP versions required per site
What to standardize
- Pool naming matches the site slug or domain
- Logs are per pool
- Socket paths are predictable and documented
Common mistakes
- Pool socket path changed but the Apache vhost wasn’t updated → 503/500. See socket mismatch fixes.
- Mixed ownership or permissions on the socket
- Multiple PHP versions installed with no documentation
FAQ
Do I need a separate pool for every site?
No. One pool per PHP version is often enough. Use per-site pools when you need isolation, different PHP versions, or easier debugging.
Reload isn’t applying my pool changes.
Some pool settings only take effect on full restart. See PHP-FPM restart vs reload.
Related
- Hosting multiple WordPress sites on one Apache server — multi-site layout
- Debugging WordPress after a PHP upgrade — post-upgrade debugging
- PHP version drift on multi-site servers — when versions creep out of sync