Јануар 13, 2026Водичи
Како конфигурисати PHP-FPM за оптималне перформансе
Потпун водич за конфигурацију поставки PHP-FPM базена, подешавање перформанси и интеграцију са Nginx-ом.

PHP-FPM (FastCGI Process Manager) је алтернативна PHP FastCGI имплементација са додатним карактеристикама корисним за веб сајтове са великим прометом. Правилна конфигурација може значајно побољшати перформансе вашег сервера и искористивост ресурса.
Инсталација 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
# Покрени и омогући 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-fpmNginx конфигурација
Конфигуришите 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 ажурнима