PHP-FPM Nedir ve Neden Gereklidir?
PHP-FPM, PHP'nin performansını artıran ve kaynak kullanımını optimize eden bir FastCGI yöneticisidir. Geleneksel CGI tabanlı PHP çalıştırma yöntemlerinden çok daha hızlıdır. Bu nedenle, yüksek trafik alan sitelerde ve uygulamalarda PHP-FPM kullanımı yaygındır. PHP-FPM'in sunduğu birçok avantaj vardır, ancak en önemlileri:
- Hızlı işlem yönetimi
- Daha iyi bellek ve işlemci kullanımı
- Yüksek trafikli sitelerde mükemmel performans
PHP-FPM Kurulumu: Adım Adım Rehber
Linux sunucusunda PHP-FPM kurulumuna başlamak için önce sisteminize uygun PHP-FPM paketlerini yüklemelisiniz. Çoğu dağıtımda PHP-FPM, varsayılan depo içinde bulunur. Hadi bunu nasıl yapacağımıza bakalım.
1. Adım: PHP-FPM Paketlerini Yüklemek
Eğer bir Debian veya Ubuntu tabanlı bir dağıtım kullanıyorsanız, aşağıdaki komut ile PHP-FPM paketini yükleyebilirsiniz:
sudo apt update
sudo apt install php-fpm
Red Hat veya CentOS tabanlı sistemlerde ise şu komutu kullanabilirsiniz:
sudo yum install php-fpm
2. Adım: PHP-FPM Servisini Başlatmak ve Aktifleştirmek
PHP-FPM'i kurduktan sonra, servisi başlatmak ve her yeniden başlatmada otomatik olarak çalışması için aktif hale getirmek gerekmektedir. Aşağıdaki komutları sırasıyla uygulayalım:
sudo systemctl start php7.4-fpm # PHP versiyonunuza göre değişebilir.
sudo systemctl enable php7.4-fpm
3. Adım: PHP-FPM Yapılandırması
PHP-FPM'in varsayılan ayarları genellikle çoğu kullanıcı için yeterli olabilir, ancak yüksek trafikli siteler için özelleştirilmiş ayarlar yapmak gerekebilir. PHP-FPM ayarlarını düzenlemek için PHP-FPM yapılandırma dosyasına göz atmamız gerekiyor.
PHP-FPM'in ana yapılandırma dosyası, genellikle `/etc/php/7.x/fpm/php-fpm.conf` veya `/etc/php-fpm.d/www.conf` yolunda bulunur. Burada bazı önemli ayarlara odaklanalım:
4. Adım: PM (Process Manager) Ayarları
PHP-FPM, çeşitli işlem yöneticisi (PM) modları ile çalışabilir. Bu modlar, PHP işlemlerinin nasıl yönetileceğini belirler. En yaygın kullanılan seçenekler:
- dynamic: PHP-FPM, gelen taleplere göre işlem havuzunu dinamik olarak ayarlar. Yüksek trafik için önerilir.
- ondemand: Sadece aktif olan işlemleri çalıştırır. Az kaynak kullanımı sağlar.
- static: Belirli sayıda işlem sürekli çalışır.
Bu ayarı, yapılandırma dosyanızda şu şekilde değiştirebilirsiniz:
pm = dynamic # veya ondemand ya da static
pm.max_children = 50 # İşlem başına maksimum çocuk sayısı
pm.start_servers = 5 # Başlangıçta çalışan PHP işlemi sayısı
5. Adım: PHP-FPM ve Web Sunucusunu Entegre Etmek
PHP-FPM'i kurduktan sonra, web sunucusu ile entegre etmeniz gerekir. Eğer Apache kullanıyorsanız, mod_proxy_fcgi ve mod_setenvif modüllerini etkinleştirmeniz gerekecek.
Apache’de PHP-FPM ile entegrasyon için şu komutları kullanabilirsiniz:
sudo apt install libapache2-mod-fcgid
sudo a2enmod proxy_fcgi setenvif
sudo systemctl restart apache2
Nginx kullanıyorsanız, PHP-FPM'i şu şekilde yapılandırabilirsiniz:
server {
listen 80;
server_name example.com;
location / {
try_files $uri $uri/ =404;
}
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;
}
}
6. Adım: Performans Ayarlarını İyileştirmek
PHP-FPM ile performansı artırmak için birkaç öneri daha var:
- PHP OpCache kullanarak PHP kodunun önbelleğe alınmasını sağlayabilirsiniz.
- PHP-FPM Gelişmiş Ayarları ile her bir işlem için bellek limitini belirleyebilirsiniz.
- Yük dengeleme ve önbellekleme tekniklerini kullanarak, daha fazla verimli kaynak kullanımını sağlayabilirsiniz.
PHP-FPM’inizi Test Etmek
PHP-FPM kurulumunun düzgün çalışıp çalışmadığını test etmek için, basit bir PHP dosyası oluşturabilir ve web tarayıcınızda çalıştırabilirsiniz. `phpinfo();` fonksiyonu ile PHP'nin doğru bir şekilde çalışıp çalışmadığını kontrol edebilirsiniz:
Bu sayfa PHP ve PHP-FPM ile ilgili detaylı bilgileri size gösterecektir.
Sonuç
Linux üzerinde PHP-FPM kurulumunu ve yapılandırmasını öğrendik ve artık web sunucusunun hız ve verimliliğini artıracak bir yapı kurmaya hazırsınız! PHP-FPM, web sitenizin hızını ve kaynak kullanımını iyileştirecek güçlü bir araçtır. Adımları dikkatle takip ederek bu yapılandırmayı başarılı bir şekilde gerçekleştirebilirsiniz. Şimdi hızlı ve verimli bir PHP uygulamanız var!