PHP-FPM Nedir ve Neden Kullanılır?
PHP-FPM (FastCGI Process Manager), PHP’nin hızlı ve verimli bir şekilde çalışmasını sağlamak için kullanılan bir FastCGI yönetim aracıdır. PHP-FPM, yüksek trafikli web siteleri için ideal bir çözümdür çünkü her PHP isteği için yeni bir işlem oluşturmaz. Bu da sunucunun daha verimli çalışmasını sağlar.
Adım 1: PHP-FPM Kurulumuna Başlayalım
İlk olarak, PHP-FPM’i Linux sisteminize kurmalısınız. Bu işlem, kullanılan Linux dağıtımına göre değişir. Aşağıda, Debian/Ubuntu ve CentOS/RHEL için PHP-FPM kurulum komutlarını bulabilirsiniz.
Debian veya Ubuntu tabanlı bir sistem kullanıyorsanız, aşağıdaki komutları kullanarak PHP-FPM'i kurabilirsiniz:
sudo apt update
sudo apt install php-fpm
# CentOS/RHEL İçin PHP-FPM Kurulumu
CentOS veya RHEL kullanan bir sistemde PHP-FPM’i kurmak için şu komutları kullanın:
sudo yum install epel-release
sudo yum install php-fpm
Bu komutları çalıştırarak PHP-FPM kurulumunu tamamlayabilirsiniz. Şimdi, PHP-FPM’in kurulu olduğunu doğrulamak için aşağıdaki komutu kullanabilirsiniz:
php-fpm -v
Eğer doğru bir şekilde kurulduysa, PHP-FPM’in sürüm bilgilerini görmelisiniz.
Adım 2: PHP-FPM Yapılandırması
Kurulumdan sonra, PHP-FPM’i yapılandırmamız gerekiyor. PHP-FPM yapılandırma dosyası genellikle `/etc/php/7.x/fpm/php-fpm.conf` veya `/etc/php-fpm.d/www.conf` gibi bir yolda bulunur. Burada PHP-FPM’in çalışma parametrelerini düzenleyeceğiz.
sudo nano /etc/php/7.x/fpm/php-fpm.conf
Yapılandırma dosyasını açtıktan sonra, aşağıdaki önemli ayarları kontrol edebilirsiniz:
- user: PHP-FPM’in çalışacağı kullanıcıyı belirler. Genellikle `www-data` veya `nginx` kullanıcıları tercih edilir.
- group: PHP-FPM’in çalışacağı grup.
- listen: PHP-FPM’in dinleyeceği port veya soket yolu. Nginx ile kullanıyorsanız genellikle bir soket kullanılır.
Ayrıca, PHP-FPM’in dinlediği IP adresini ve portu değiştirebilirsiniz. Örneğin, `127.0.0.1:9000` yerine bir Unix soketi kullanmak, performans açısından daha iyi olabilir.
Yapılandırma dosyasındaki diğer ayarları ise ihtiyaçlarınıza göre değiştirebilirsiniz. Yapılandırmayı tamamladıktan sonra dosyayı kaydedip kapatın.
Adım 3: PHP-FPM’i Başlatma ve Test Etme
Yapılandırma işlemi tamamlandıktan sonra, PHP-FPM servisini başlatabiliriz:
sudo systemctl start php7.x-fpm
sudo systemctl enable php7.x-fpm
Bu komutlar PHP-FPM servisinin başlatılmasını ve sistem yeniden başlatıldığında otomatik olarak çalışmasını sağlar. PHP-FPM’in düzgün çalışıp çalışmadığını test etmek için şu komutu kullanabilirsiniz:
sudo systemctl status php7.x-fpm
Eğer her şey doğru şekilde yapılandırılmışsa, PHP-FPM çalışıyor olmalıdır.
Adım 4: Web Sunucusunu Yapılandırma
PHP-FPM’i kurduktan sonra, web sunucusunu yapılandırmamız gerekiyor. Eğer Nginx kullanıyorsanız, PHP-FPM ile entegrasyonu sağlamak oldukça basittir. Nginx yapılandırma dosyasını açın:
sudo nano /etc/nginx/sites-available/default
Aşağıdaki gibi bir PHP-FPM konfigürasyonu eklemeniz gerekebilir:
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.x-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Yukarıdaki yapılandırmada, Nginx PHP dosyalarını PHP-FPM ile işlemeye yönlendirecektir. Bu yapılandırmayı kaydedin ve Nginx’i yeniden başlatın:
sudo systemctl restart nginx
Adım 5: PHP-FPM Performansını Optimize Etme
PHP-FPM’i kurduktan sonra, sisteminizi optimize etmeniz önemli olacaktır. Özellikle yüksek trafiğe sahip bir site işletiyorsanız, PHP-FPM’in performansını arttırmak için birkaç ayar yapabilirsiniz:
- pm.start_servers: PHP-FPM’in başlatılacak ilk işlem sayısını belirtir. Sunucunuzun RAM miktarına göre bu değeri ayarlayabilirsiniz.
Bu ayarları PHP-FPM’in `www.conf` dosyasından değiştirebilirsiniz. Örneğin:
pm.max_children = 50
pm.start_servers = 5
Yapılandırma değişikliklerini yaptıktan sonra, PHP-FPM servisini yeniden başlatmayı unutmayın:
sudo systemctl restart php7.x-fpm
### Sonuç
Linux üzerinde PHP-FPM kurulumu ve yapılandırması oldukça basit bir süreçtir. Ancak doğru yapılandırma, PHP uygulamalarınızın daha hızlı ve verimli çalışmasını sağlayacaktır. Yukarıda verdiğim adımları takip ederek PHP-FPM’i sorunsuz bir şekilde kurabilir ve optimize edebilirsiniz. Unutmayın, her web sitesi farklıdır, bu yüzden ayarları kendi ihtiyacınıza göre yapmalısınız. PHP-FPM ile yüksek performanslı ve ölçeklenebilir bir web sunucusuna sahip olabilirsiniz.