Tagasi blogisse
Jaanuar 13, 2026Juhendid

Kuidas seadistada PHP-FPM optimaalse jõudluse saavutamiseks

Täielik juhend PHP-FPM kogumi sätete konfigureerimiseks, jõudluse häälestamiseks ja integreerimiseks Nginxiga.

Kuidas seadistada PHP-FPM optimaalse jõudluse saavutamiseks

PHP-FPM (FastCGI Process Manager) on alternatiivne PHP FastCGI implementatsioon, millel on lisafunktsioonid, mis on kasulikud suure liiklusega veebisaitidele. Õige konfiguratsioon võib oluliselt parandada teie serveri jõudlust ja ressursikasutust.

PHP-FPM installimine

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

# Käivita ja luba PHP-FPM
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

PHP-FPM kogumi konfigureerimine

Redigeerige kogumi konfiguratsioonifaili jõudluse optimeerimiseks:

bash
sudo nano /etc/php/8.1/fpm/pool.d/www.conf

# Peamised sätted:
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data

# Protsessihaldus
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 500

Jõudluse häälestamine

Optimeerige PHP-FPM oma serveri ressursside jaoks:

bash
# Arvuta optimaalne max_children:
# (Kogu RAM - Muud teenused) / (Mälu PHP protsessi kohta)
# Näide: (2GB - 500MB) / 50MB = 30 max_children

# Redigeeri php.ini parema jõudluse saavutamiseks
sudo nano /etc/php/8.1/fpm/php.ini

# Soovitatavad sätted:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M

# Taaskäivita PHP-FPM
sudo systemctl restart php-fpm

Nginxi konfiguratsioon

Konfigureerige Nginx töötama PHP-FPM-iga:

bash
sudo nano /etc/nginx/sites-available/yourdomain.com

# Lisa PHP haldus:
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;
}

# Testi ja laadi Nginx uuesti
sudo nginx -t
sudo systemctl reload nginx

PHP-FPM jälgimine

bash
# Kontrolli PHP-FPM olekut
sudo systemctl status php-fpm

# Vaata PHP-FPM protsesse
ps aux | grep php-fpm

# Kontrolli kogumi olekut (kui olekuleht on lubatud)
curl http://localhost/status

# Vaata logisid
sudo tail -f /var/log/php8.1-fpm.log

PHP-FPM optimeerimise nõuanded

  • Kohandage pm.max_children vastavalt saadaolevale RAM-ile
  • Kasutage pm = dynamic enamiku kasutusjuhtude puhul
  • Määrake pm.max_requests mälulekete vältimiseks
  • Luba opcache parema jõudluse saavutamiseks
  • Jälgige regulaarselt PHP-FPM olekut
  • Kasutage erinevate rakenduste jaoks eraldi kogumeid
  • Hoidke PHP ja PHP-FPM uuendatuna