Linux'ta PHP-FPM Kurulumu ve Ayarları: Hızlı ve Kolay Rehber

Bu rehber, PHP-FPM'i Linux üzerinde kurmayı ve yapılandırmayı adım adım anlatan detaylı bir yazıdır. PHP-FPM, web geliştirme ve sunucu yönetimi konusunda önemli bir araçtır.

BFS

Web geliştirme dünyasında her şey hızla değişiyor, ancak bir şey her zaman sabit: hızlı bir web sitesi herkesin istediği şeydir. PHP, popülerliğinden dolayı her zaman en çok tercih edilen sunucu tarafı dillerden biri olmuştur. Ancak, PHP'yi hızlı ve verimli bir şekilde çalıştırmak için bazı optimizasyonlar yapmanız gerekebilir. İşte tam bu noktada PHP-FPM devreye giriyor. Bu yazıda, Linux üzerinde PHP-FPM kurulumunu ve konfigürasyonunu adım adım nasıl yapacağınızı anlatacağız.

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.

İlgili Yazılar

Benzer konularda diğer yazılarımız

ASP.NET Core ile Mobil Uygulama Geliştirme: Cross-Platform Web ve Mobil Uygulama Birleştirme

Günümüzde mobil uygulamalar hayatımızın ayrılmaz bir parçası haline geldi. Akıllı telefonlarımızda geçirdiğimiz zamanın büyük bir kısmını mobil uygulamalar sayesinde geçiriyoruz. Peki, bir mobil uygulama geliştirirken karşılaştığımız zorlukları nasıl...

ASP.NET Core 500 Internal Server Error: Sebepleri ve Çözümleri

Bir web geliştiricisi olarak, karşılaştığınız en zorlayıcı hatalardan biri şüphesiz "500 Internal Server Error"dır. Bu hata, web uygulamanızda her şeyin yolunda gittiğini düşündüğünüz bir anda karşınıza çıkabilir ve tüm projeyi durdurabilir. Ancak merak...

OAuth2 Authentication Error: Nedenleri ve Çözümleri

OAuth2 Authentication Error: Gerçekten Neyin Peşindeyiz?Her geliştirici, kimlik doğrulama hatalarıyla bir noktada karşılaşmıştır. Ama bazen işler kontrolden çıkabiliyor. Eğer bir gün OAuth2 ile çalışırken bir kimlik doğrulama hatası aldığınızda, yalnız...