PHP-FPM Nedir ve Neden Kullanmalıyız?
PHP-FPM, PHP'nin FastCGI Process Manager (FPM) sürümüdür. Bu, özellikle büyük ölçekli uygulamalar için performans iyileştirmeleri sağlar. PHP-FPM, yüksek trafikli sitelerde PHP işlemlerinin verimli bir şekilde yönetilmesini sağlar ve sunucuların daha az kaynak tüketmesini sağlar. Eğer PHP ile bir web sitesi geliştiriyorsanız, PHP-FPM, sistem kaynaklarınızı daha verimli kullanmanıza yardımcı olur.
PHP-FPM'in Avantajları:
- Daha hızlı işlem yönetimi: PHP-FPM, PHP süreçlerini daha hızlı bir şekilde yönetir.
- Daha düşük kaynak tüketimi: Özellikle yüksek trafikli sitelerde kaynak tüketimi azalır.
- Daha fazla özelleştirme seçeneği: PHP-FPM, farklı havuzlar oluşturmanıza imkan tanır, böylece her bir PHP işlem grubunu özelleştirebilirsiniz.
Linux'ta PHP-FPM Nasıl Kurulur?
PHP-FPM'i Linux sisteminize kurmak oldukça basittir. Adım adım takip edebileceğiniz rehberimizle bu işlemi rahatlıkla tamamlayabilirsiniz.
Adım 1: PHP ve PHP-FPM Paketlerini Yükleyin
İlk olarak, PHP ve PHP-FPM paketlerini yüklememiz gerekiyor. Bunun için terminali açın ve aşağıdaki komutu girin:
sudo apt update
sudo apt install php php-fpm
Bu komut, PHP ve PHP-FPM paketlerini yükleyecektir. Paketler indirildikten sonra, PHP-FPM servisi otomatik olarak başlayacaktır.
Adım 2: PHP-FPM Konfigürasyonu
PHP-FPM kurulumunun ardından, konfigürasyon dosyasını düzenlemeniz gerekebilir. PHP-FPM, çeşitli ayarlarla özelleştirilebilir. Konfigürasyon dosyasına ulaşmak için şu komutu kullanın:
sudo nano /etc/php/7.4/fpm/php.ini
Bu dosya, PHP-FPM'in çalışma şekli ile ilgili tüm ayarları içerir. En yaygın yapılan ayar değişikliklerinden bazıları şunlardır:
- memory_limit: PHP scriptlerinin ne kadar bellek kullanabileceğini belirler.
- max_execution_time: PHP scriptlerinin maksimum çalışma süresini ayarlayabilirsiniz.
- upload_max_filesize: Bu ayar, PHP'nin yükleyebileceği dosya boyutunu sınırlar.
Bu dosyadaki değişiklikleri yaptıktan sonra, PHP-FPM servisini yeniden başlatmak gerekecek:
sudo systemctl restart php7.4-fpm
Adım 3: Web Sunucusu ile PHP-FPM'i Entegre Etmek
PHP-FPM'i kurduktan sonra, PHP işlemlerini web sunucusu ile entegre etmeniz gerekir. Apache ya da Nginx gibi bir web sunucusu kullanıyorsanız, PHP-FPM'i uygun şekilde ayarlamanız gerekecek.
Apache kullanıyorsanız, aşağıdaki komutu kullanarak PHP-FPM modülünü etkinleştirin:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.4-fpm
sudo systemctl restart apache2
Nginx kullanıyorsanız, Nginx konfigürasyon dosyasını açarak PHP-FPM'i entegre edebilirsiniz:
server {
listen 80;
server_name example.com;
location / {
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 /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
}
Yapılan bu ayarlamalar sonrasında, web sunucusu PHP-FPM üzerinden gelen talepleri işleyebilecektir.
PHP-FPM'in Performans Ayarları
PHP-FPM, performansınızı artırmak için birçok ayar sunar. Bu ayarlardan bazıları, PHP-FPM havuzlarıyla ilgilidir. PHP-FPM havuzları, birden fazla PHP işlem grubunu özelleştirmenize olanak tanır. İşte birkaç yaygın havuz ayarı:
pm (process manager): PHP-FPM'in nasıl işlem yönettiğini belirler. İki seçenek bulunur:
- dynamic: PHP-FPM dinamik olarak süreçleri başlatır ve sonlandırır.
- static: PHP-FPM her zaman sabit sayıda işlem çalıştırır.
pm.max_children: PHP-FPM'in aynı anda çalıştırabileceği en fazla işlem sayısını belirler.
pm.start_servers: PHP-FPM başlatıldığında kaç işlem oluşturulacağını ayarlarsınız.
pm.max_requests: Bir işlem, belirtilen sayıda isteği işledikten sonra yeniden başlatılır.
Sonuç
PHP-FPM, Linux sunucularında PHP'yi hızlı ve verimli bir şekilde çalıştırmak için mükemmel bir çözümdür. Kurulum ve yapılandırma işlemleri oldukça basittir ve küçük ayarlarla performansınızı ciddi şekilde artırabilirsiniz. PHP-FPM, yüksek trafikli sitelerde hız ve verimlilik sağlar, böylece kullanıcılarınızın daha hızlı yüklenen sayfalara erişmesini sağlar.
Eğer PHP-FPM'i doğru bir şekilde kurar ve yapılandırırsanız, web sunucunuzun performansını önemli ölçüde artırabilirsiniz. Bu sayede hem kullanıcı deneyimi hem de sunucu verimliliği anlamında büyük avantajlar elde edersiniz.