PHP-FPM (FastCGI Process Manager) là trình quản lý tiến trình PHP hiệu suất cao, được sử dụng rộng rãi trong các web server hiện đại. Bài viết giúp bạn hiểu rõ PHP-FPM là gì, cách hoạt động, ưu nhược điểm và hướng dẫn cấu hình với Nginx.
Proxy tốc độ cao – Sẵn sàng dùng thử?
ALGO Proxy cung cấp proxy residential, datacenter và 4G tại 195+ quốc gia
PHP FPM là gì?

PHP-FPM (FastCGI Process Manager) là trình quản lý tiến trình dành riêng cho PHP, đóng vai trò trung gian giữa web server và các script PHP. Thay vì khởi tạo tiến trình PHP mới cho mỗi request (như CGI truyền thống), PHP-FPM duy trì một pool các worker process sẵn sàng xử lý yêu cầu.
PHP-FPM được tích hợp chính thức vào PHP từ phiên bản 5.3.3 (2010) và trở thành lựa chọn mặc định cho hầu hết web server hiện đại, đặc biệt khi kết hợp với Nginx.
Cách hoạt động của PHP FPM

Quy trình xử lý request qua PHP-FPM:
- Người dùng gửi request HTTP đến web server (Nginx/Apache).
- Web server nhận request, nếu là file PHP thì chuyển đến PHP-FPM qua Unix socket hoặc TCP.
- PHP-FPM master process nhận request và phân phối đến worker process trong pool.
- Worker process thực thi mã PHP, truy vấn database nếu cần.
- Kết quả HTML được trả ngược về web server → trình duyệt người dùng.
PHP-FPM hỗ trợ 3 chế độ quản lý process:
| Chế độ | Mô tả | Phù hợp |
|---|---|---|
| static | Số worker cố định | Server chuyên dụng, traffic ổn định |
| dynamic | Worker tăng/giảm theo nhu cầu | Đa số trường hợp (mặc định) |
| ondemand | Worker chỉ tạo khi có request | VPS nhỏ, ít traffic |
So sánh PHP Handler

| Tiêu chí | PHP-CGI | PHP-FPM | DSO (mod_php) |
|---|---|---|---|
| Quản lý tiến trình | Tạo mới mỗi request | Pool worker tái sử dụng | Nhúng vào Apache |
| Hiệu suất | Thấp | Cao | Trung bình |
| Xử lý đồng thời | Kém | Tốt | Trung bình |
| Tài nguyên | Lãng phí | Tối ưu | Trung bình |
| Web server | Mọi server | Nginx, Apache, LiteSpeed | Chỉ Apache |
| Cấu hình | Đơn giản | Trung bình | Đơn giản |
| Bảo mật | Cơ bản | Tốt (pool riêng/user) | Thấp (chung user) |
PHP-CGI: Tạo tiến trình mới cho mỗi request → chậm, tốn tài nguyên. Chỉ phù hợp cho môi trường đơn giản.
DSO (mod_php): Nhúng PHP trực tiếp vào Apache, dễ cài đặt nhưng tất cả script chạy cùng user Apache → rủi ro bảo mật trên shared hosting.
PHP-FPM: Duy trì pool worker, tái sử dụng tiến trình, hỗ trợ pool riêng theo user → cân bằng giữa hiệu suất và bảo mật.
Ưu nhược điểm PHP-FPM

Ưu điểm:
- Hiệu suất cao: Pool worker tái sử dụng, giảm overhead khởi tạo tiến trình.
- Xử lý đồng thời tốt: Hàng nghìn request đồng thời với cấu hình pool phù hợp.
- Quản lý linh hoạt: 3 chế độ process (static/dynamic/ondemand), slow-log, status page.
- Bảo mật: Pool riêng cho từng user/website, giới hạn tài nguyên per-pool.
- Tương thích rộng: Nginx, Apache, LiteSpeed, Caddy và mọi server hỗ trợ FastCGI.
- Graceful restart: Reload cấu hình không gián đoạn service.
Nhược điểm:
- Cấu hình phức tạp hơn: Cần hiểu pool, worker, socket để tối ưu.
- Tốn RAM: Mỗi worker chiếm 20-50MB RAM, cần tính toán kỹ cho VPS nhỏ.
- Không nhúng vào Apache: Cần cấu hình proxy riêng (mod_proxy_fcgi).
Cấu hình PHP-FPM với cPanel

cPanel tích hợp sẵn PHP-FPM qua EasyApache, giúp cấu hình dễ dàng:
- Đăng nhập WHM → EasyApache 4 → Customize.
- Trong tab PHP Extensions, chọn phiên bản PHP cần dùng.
- Vào MultiPHP Manager → chọn PHP-FPM làm PHP Handler.
- Cấu hình pool riêng cho từng domain tại MultiPHP INI Editor.
cPanel tự động tạo pool riêng cho mỗi cPanel user, đảm bảo cách ly tài nguyên và bảo mật giữa các website trên shared hosting.
Cấu hình PHP-FPM với Nginx

Cài đặt PHP-FPM:
# Ubuntu/Debian
sudo apt update
sudo apt install php8.2-fpm
# CentOS/RHEL
sudo dnf install php-fpm
Cấu hình Nginx:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Kiểm tra và khởi động:
# Kiểm tra cấu hình Nginx
sudo nginx -t
# Khởi động lại
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
# Kiểm tra trạng thái
sudo systemctl status php8.2-fpm
Kết luận: PHP-FPM là trình quản lý tiến trình PHP hiệu suất cao, vượt trội so với PHP-CGI và mod_php. Với khả năng quản lý pool worker linh hoạt, PHP-FPM là lựa chọn hàng đầu cho các ứng dụng web PHP hiện đại, đặc biệt khi kết hợp với Nginx.









