Блогқа оралу
Қаңтар 13, 2026Нұсқаулықтар

Оңтайлы өнімділік үшін PHP-FPM қалай баптауға болады

PHP-FPM пулының параметрлерін баптау, өнімділікті реттеу және Nginx-пен интеграциялау бойынша толық нұсқаулық.

Оңтайлы өнімділік үшін PHP-FPM қалай баптауға болады

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-fpm

Nginx конфигурациясы

PHP-FPM-мен жұмыс істеу үшін Nginx-ті баптаңыз:

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 мәнін қолжетімді жедел жадқа қарай реттеңіз
  • Көптеген пайдалану жағдайлары үшін pm = dynamic пайдаланыңыз
  • Жадтың ағып кетуін болдырмау үшін pm.max_requests орнатыңыз
  • Жақсырақ өнімділік үшін opcache қосыңыз
  • PHP-FPM күйін үнемі бақылаңыз
  • Әртүрлі қосымшалар үшін бөлек пулдарды пайдаланыңыз
  • PHP және PHP-FPM жаңартылған күйде ұстаңыз