ינואר 13, 2026מדריכים
איך להגדיר PHP-FPM לביצועים אופטימליים
מדריך מלא להגדרת הגדרות מאגר PHP-FPM, כוונון ביצועים ושילוב עם Nginx.

PHP-FPM (FastCGI Process Manager) הוא יישום חלופי של PHP FastCGI עם תכונות נוספות שימושיות לאתרים בעלי עומס גבוה. תצורה נכונה יכולה לשפר משמעותית את ביצועי השרת שלך וניצול המשאבים.
התקנת PHP-FPM
bash
# אובונטו/דביאן
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
# התחל ואפשר PHP-FPM
sudo systemctl start php-fpm
sudo systemctl enable php-fpmהגדרת מאגר PHP-FPM
ערוך את קובץ תצורת המאגר לאופטימיזציית ביצועים:
bash
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
# הגדרות מפתח:
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data
# ניהול תהליכים
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 500כוונון ביצועים
בצע אופטימיזציה ל-PHP-FPM עבור משאבי השרת שלך:
bash
# חשב max_children אופטימלי:
# (סה"כ RAM - שירותים אחרים) / (זיכרון לתהליך PHP)
# דוגמה: (2GB - 500MB) / 50MB = 30 max_children
# ערוך את php.ini לביצועים טובים יותר
sudo nano /etc/php/8.1/fpm/php.ini
# הגדרות מומלצות:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M
# הפעל מחדש את PHP-FPM
sudo systemctl restart php-fpmתצורת Nginx
הגדר את Nginx לעבוד עם PHP-FPM:
bash
sudo nano /etc/nginx/sites-available/yourdomain.com
# הוסף טיפול ב-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;
}
# בדוק וטען מחדש את Nginx
sudo nginx -t
sudo systemctl reload nginxניטור PHP-FPM
bash
# בדוק סטטוס PHP-FPM
sudo systemctl status php-fpm
# צפה בתהליכי PHP-FPM
ps aux | grep php-fpm
# בדוק סטטוס מאגר (אם דף סטטוס מאופשר)
curl http://localhost/status
# צפה ביומנים
sudo tail -f /var/log/php8.1-fpm.logטיפים לאופטימיזציית PHP-FPM
- התאם את pm.max_children בהתבסס על RAM זמין
- השתמש ב-pm = dynamic לרוב מקרי השימוש
- הגדר pm.max_requests למניעת דליפות זיכרון
- אפשר opcache לביצועים טובים יותר
- נטר את סטטוס PHP-FPM באופן קבוע
- השתמש במאגרים נפרדים לאפליקציות שונות
- שמור על PHP ו-PHP-FPM מעודכנים