PHP-FPM Nedir?
PHP-FPM Kurulumu: Başlangıç Adımları
sudo apt update
sudo apt install php-fpm php-mysql
Bu komutlar, gerekli PHP-FPM ve PHP-MYSQL paketlerini kuracaktır. PHP-FPM kurulumu tamamlandıktan sonra, PHP sürümünüzü kontrol edebilirsiniz:
php -v
PHP-FPM Yapılandırma Dosyaları
sudo nano /etc/php/7.4/fpm/php.ini
Burada, `max_execution_time`, `memory_limit` gibi parametreleri ihtiyacınıza göre değiştirebilirsiniz. Ayrıca, `upload_max_filesize` ve `post_max_size` parametreleri de büyük dosya yüklemeleri için önemlidir.
PHP-FPM Pool Yapılandırması
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Bu dosyada, `user` ve `group` parametrelerini web sunucunuzla uyumlu şekilde ayarlamanız gerekebilir. Genellikle, Apache veya Nginx sunucusu kullanıyorsanız, bu değerler `www-data` olarak ayarlanır. Ayrıca, `pm` (Process Manager) ayarlarını da inceleyebilirsiniz. `pm` parametresi, PHP-FPM’in işlem yönetim biçimini belirler. Genellikle, `dynamic` ayarı, yük altında daha iyi performans gösterir.
Örnek yapılandırma satırı:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
PHP-FPM ve Web Sunucu Entegrasyonu
Nginx konfigürasyon dosyasını açın:
sudo nano /etc/nginx/sites-available/default
Ve şu satırları ekleyin:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Değişiklikleri kaydedip Nginx’i yeniden başlatın:
sudo systemctl restart nginx
PHP-FPM’in Performansını Artırma
1. Hafıza Ayarları: `php.ini` dosyasındaki `memory_limit` ayarını yükseltin.
2. Hızlı Başlatma (opcache): PHP’de opcache’i etkinleştirerek, uygulamanızın daha hızlı çalışmasını sağlayabilirsiniz.
3. Sürekli İzleme: PHP-FPM’i sürekli izlemek, performans sorunlarını önceden tespit etmenize yardımcı olur. `systemctl` komutunu kullanarak PHP-FPM’in durumunu kontrol edebilirsiniz.
sudo systemctl status php7.4-fpm
PHP-FPM Güncellemeleri ve Bakımı
Güncellemeleri almak için şu komutu kullanabilirsiniz:
sudo apt update
sudo apt upgrade