Boela kwa blog
Ferikgong 13, 2026Dikaelo

Jang go Beakanya PHP-FPM go na le Tiragatso e e Kwa Godimo

Kaelo e e tletseng ka ga go beakanya di-setting tsa pool tsa PHP-FPM, go tokafatsa tiragatso, le kopanyo le Nginx.

Jang go Beakanya PHP-FPM go na le Tiragatso e e Kwa Godimo

PHP-FPM (FastCGI Process Manager) ke tsenyo e nngwe ya PHP FastCGI e e nang le dikarolo tse di oketsegileng tse di mosola ya di-website tse di nang le traffic e e kwa godimo. Peakanyo e e nepagetseng e ka tokafatsa thata tiragatso ya server ya gago le tshebediso ya didiriswa.

Go Tsenya 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

# Simolola le go letlelela PHP-FPM
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Go Beakanya PHP-FPM Pool

Fetola fayele ya peakanyo ya pool go oketsa tiragatso:

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

# Di-setting tsa botlhokwa:
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data

# Botsamaisi ba tshebediso
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 500

Tokafatso ya Tiragatso

Oketsa PHP-FPM ya didiriswa tsa server ya gago:

bash
# Bala max_children e e gaisang:
# (RAM yotlhe - Ditirelo tse dingwe) / (Memory ka tshebediso ya PHP)
# Sekai: (2GB - 500MB) / 50MB = 30 max_children

# Fetola php.ini go na le tiragatso e e botoka
sudo nano /etc/php/8.1/fpm/php.ini

# Di-setting tse di kgothalediwang:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M

# Restart PHP-FPM
sudo systemctl restart php-fpm

Peakanyo ya Nginx

Beakanya Nginx go bereka le PHP-FPM:

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

# Tsenya tsholo ya 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;
}

# Testa le reload Nginx
sudo nginx -t
sudo systemctl reload nginx

Go Tlhokomela PHP-FPM

bash
# Tlhola seemo sa PHP-FPM
sudo systemctl status php-fpm

# Bona ditshebediso tsa PHP-FPM
ps aux | grep php-fpm

# Tlhola seemo sa pool (fa tsebe ya seemo e letleletswe)
curl http://localhost/status

# Bona di-log
sudo tail -f /var/log/php8.1-fpm.log

Dikeletso tsa Optimization ya PHP-FPM

  • Fetola pm.max_children go ya ka RAM e e leng teng
  • Dirisa pm = dynamic mo mabakeng a mantsi a tiriso
  • Seta pm.max_requests go thibela memory leaks
  • Letlelela opcache go na le tiragatso e e botoka
  • Tlhokomela seemo sa PHP-FPM ka gale
  • Dirisa di-pool tse di farologaneng tsa di-application tse di farologaneng
  • Boloka PHP le PHP-FPM di ntšhwafaditswe