PHP-FPM Nedir?
PHP-FPM, PHP'nin daha hızlı çalışmasını sağlayan bir FastCGI işlemi yöneticisidir. Yani, PHP'nin her istek için yeni bir işlem oluşturmasına gerek kalmaz. Bu da sistem kaynaklarının daha verimli kullanılmasını ve yüksek trafikli sitelerde hızın artmasını sağlar. Ancak, PHP-FPM'in faydalarından tam anlamıyla yararlanabilmek için doğru kurulumu ve ayarları yapmak gerekir. İşte adım adım nasıl kurabileceğine göz atalım.
İlk adım, PHP-FPM'i sistemine kurmak olacak. Çoğu Linux dağıtımı, PHP-FPM paketini kendi depolarında bulundurur. Bu nedenle, kurulum oldukça basittir. Terminali aç ve aşağıdaki komutu kullan:
sudo apt update
sudo apt install php-fpm
Bu komut, sistemini günceller ve PHP-FPM paketini yükler. Yükleme tamamlandığında, PHP-FPM servisinin otomatik olarak başladığını göreceksin. Eğer bir nedenden dolayı servisi başlatmak istersen, şu komutu kullanabilirsin:
sudo systemctl start php7.4-fpm
PHP-FPM’in doğru kurulduğunu doğrulamak için şu komutu kullanabilirsin:
sudo systemctl status php7.4-fpm
Burada `php7.4-fpm` kısmı, kullandığın PHP versiyonuna göre değişebilir. PHP versiyonunun doğru olduğundan emin ol.
2. Nginx ile PHP-FPM Entegrasyonu
PHP-FPM'i kurduktan sonra, web sunucunu da PHP ile uyumlu hale getirmen gerekiyor. Eğer Nginx kullanıyorsan, PHP-FPM ile entegrasyon biraz farklı olacak. Nginx'i PHP-FPM ile çalıştırmak için aşağıdaki adımları izle.
Konfigürasyon dosyasını şu şekilde düzenle:
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;
}
location / {
try_files $uri $uri/ =404;
}
}
Burada `php7.4-fpm.sock` kısmı, PHP versiyonuna göre değişebilir. Konfigürasyonu kaydettikten sonra, Nginx'i yeniden başlatman gerekecek:
sudo systemctl restart nginx
Bu adımlar, Nginx ile PHP-FPM'in entegre edilmesini sağlar ve PHP dosyalarını düzgün şekilde çalıştırabilirsin.
3. PHP-FPM Ayarları
PHP-FPM'in performansını artırmak için bazı önemli ayarlara göz atman gerekebilir. En yaygın yapılan ayarlar şunlardır:
- pm.start_servers: PHP-FPM servisinin başlangıçta kaç işlem başlatacağını belirler.
- pm.min_spare_servers: PHP-FPM'in her zaman çalıştırması gereken minimum boş (idle) işlem sayısını belirtir.
- pm.max_spare_servers: PHP-FPM’in çalıştırabileceği maksimum boş işlem sayısını belirler.
PHP-FPM konfigürasyon dosyasını açmak için şu komutu kullan:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Dosyada, aşağıdaki ayarları bulabilir ve ihtiyacına göre düzenleyebilirsin:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
Bu ayarlarla PHP-FPM'in performansını optimize edebilirsin. Ayarları kaydettikten sonra PHP-FPM servisini yeniden başlatmayı unutma:
sudo systemctl restart php7.4-fpm
4. PHP-FPM Güvenlik Ayarları
PHP-FPM ile güvenlik, oldukça önemli bir konudur. Özellikle PHP-FPM'in doğru güvenlik önlemleriyle çalıştığından emin olmak gerekir. PHP-FPM için önerilen bazı güvenlik önlemleri:
- disable_functions: PHP'nin zararlı veya gereksiz işlevlerinin kullanımını kısıtlamak için bu ayarı kullanabilirsin. Örneğin, `shell_exec()` gibi tehlikeli işlevleri devre dışı bırakmak faydalı olabilir.
PHP-FPM konfigürasyon dosyasına aşağıdaki gibi eklemeler yapabilirsin:
php_admin_value[open_basedir] = /var/www/html
php_admin_value[disable_functions] = shell_exec, exec
Bu ayarlarla PHP-FPM’in güvenliğini artırabilirsin.
5. PHP-FPM Logları
PHP-FPM’in loglarını izlemek, olası hataları tespit etmek ve performans sorunlarını gidermek için faydalıdır. PHP-FPM loglarını şu komutla görüntüleyebilirsin:
sudo tail -f /var/log/php7.4-fpm.log
Bu komut, PHP-FPM’in çalışırken kaydettiği logları gerçek zamanlı olarak izlemeni sağlar.
### Sonuç
PHP-FPM, Linux üzerinde web uygulamaları için mükemmel bir performans sunar. Doğru kurulumu ve ayarları ile web siten hızlanır ve daha verimli hale gelir. Yukarıdaki adımları takip ederek PHP-FPM’i sorunsuz bir şekilde kurabilir, yapılandırabilir ve güvenli bir şekilde kullanabilirsin. Artık sen de hızlı ve güvenli bir PHP-FPM ortamına sahipsin!