PHP-FPM Linux'ta Nasıl Kurulur ve Ayarlanır? İşte Adım Adım Rehberiniz!

PHP-FPM, web sunucusu performansını artırmak isteyen geliştiriciler için vazgeçilmez bir araçtır. Bu rehberde, PHP-FPM'in kurulumu, ayarları ve performans optimizasyonuna dair adım adım bilgiler bulacaksınız.

BFS

Linux üzerinde PHP-FPM (FastCGI Process Manager) kurulumu ve ayarlarını yapmak, web geliştiricilerinin ve sistem yöneticilerinin oldukça işine yarayan bir yetenek. PHP-FPM, özellikle yüksek trafikli web sitelerinde, PHP uygulamalarının performansını artırmak için kullanılan güçlü bir çözüm. Bu yazıda, adım adım PHP-FPM kurulumunu ve gerekli ayarları nasıl yapabileceğinizi anlatacağız.

PHP-FPM Nedir?



PHP-FPM, PHP'nin daha hızlı çalışmasını sağlayan bir işlem yöneticisidir. Özellikle çoklu PHP işlem yönetimi ve yüksek verimlilik isteyen projelerde kullanılır. Apache veya Nginx gibi web sunucularıyla birlikte çalışarak, PHP'nin çok daha hızlı çalışmasını sağlar. Özellikle dinamik web siteleri ve uygulamalar için önemli bir gereksinim haline gelir.

PHP-FPM Kurulumu: Adım Adım



Linux sisteminizde PHP-FPM'i kurmak oldukça basittir. İşte adımlar:

1. PHP ve PHP-FPM’i Yüklemek:
Linux’unuzun paket yöneticisini kullanarak PHP-FPM'i yüklemeye başlayın. Eğer Ubuntu veya Debian tabanlı bir dağıtım kullanıyorsanız, terminali açarak aşağıdaki komutları çalıştırabilirsiniz:


sudo apt update
sudo apt install php-fpm


CentOS veya RedHat tabanlı bir sistem kullanıyorsanız, şu komutu kullanabilirsiniz:


sudo yum install php-fpm


Bu komut PHP ve PHP-FPM'i sisteminize kuracaktır.

2. PHP-FPM’i Başlatmak:
Kurulum tamamlandıktan sonra PHP-FPM servisini başlatmanız gerekecek. Bunu aşağıdaki komutla yapabilirsiniz:


sudo systemctl start php7.x-fpm


PHP sürümünüzün farklı olabileceğini unutmayın (örneğin PHP 8.0, PHP 7.4 vb.). PHP sürümünüzü doğru şekilde yazmalısınız.

3. PHP-FPM’in Otomatik Başlamasını Sağlamak:
Sistemin her açılışında PHP-FPM’in otomatik olarak başlatılmasını sağlamak için şu komutu kullanabilirsiniz:


sudo systemctl enable php7.x-fpm


Bu, sunucunuz her yeniden başlatıldığında PHP-FPM'in otomatik olarak başlamasını sağlar.

PHP-FPM Yapılandırma Ayarları



Kurulumdan sonra, PHP-FPM’i optimize etmek için bazı yapılandırmalar yapmanız gerekir. İşte PHP-FPM’in performansını artıracak birkaç önemli ayar:

1. PHP-FPM Yapılandırma Dosyasını Düzenlemek:
PHP-FPM’in yapılandırma dosyası genellikle `/etc/php/7.x/fpm/php-fpm.conf` veya `/etc/php/7.x/fpm/pool.d/www.conf` yolunda bulunur. Bu dosyayı bir metin düzenleyici ile açın:


sudo nano /etc/php/7.x/fpm/pool.d/www.conf


2. Çalışan PHP İşlem Sayısını Ayarlamak:
PHP-FPM’in her isteğe yanıt verecek kadar işlem başlatması gereklidir. Bu ayarları yapılandırarak, sisteminizin kaynaklarını verimli bir şekilde kullanmasını sağlayabilirsiniz. İşte bazı anahtar ayarlar:


pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35


Bu ayarlar, PHP-FPM’in dinamik olarak işlem başlatmasını sağlar. Yük altında daha fazla işlem başlatılırken, fazla işlem sayısı azalmaya başlar. Bu ayarları, web sunucunuzun trafiğine göre özelleştirebilirsiniz.

3. PHP-FPM Log Dosyalarını Yapılandırmak:
PHP-FPM log dosyalarını doğru şekilde yapılandırmak, hataları izlemek ve performans sorunlarını tespit etmek için çok önemlidir. Aşağıdaki satırlara dikkat edin:


error_log = /var/log/php-fpm.log
log_level = notice


Bu ayarlar, PHP-FPM loglarını belirtilen dosyaya yönlendirir ve hata seviyesini "notice" olarak ayarlar.

PHP-FPM ile Nginx veya Apache Entegrasyonu



PHP-FPM, en çok Nginx veya Apache gibi web sunucularıyla birlikte kullanılır. Eğer Nginx kullanıyorsanız, PHP-FPM ile entegrasyonu şöyle yapabilirsiniz:

1. Nginx Konfigürasyonu:
Nginx üzerinde PHP-FPM’i çalıştırmak için, aşağıdaki satırları Nginx konfigürasyon dosyasına eklemeniz gerekir:


server {
    listen 80;
    server_name example.com;
    root /var/www/html;

    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;
    }
}


Bu yapılandırma, PHP dosyalarının Nginx üzerinden PHP-FPM aracılığıyla işlenmesini sağlar.

2. Apache Konfigürasyonu:
Apache kullanıyorsanız, aşağıdaki satırı Apache yapılandırma dosyanıza eklemeniz gerekir:


ProxyPassMatch ^/(.*\.php)$ unix:/var/run/php/php7.x-fpm.sock|fcgi://localhost/var/www/html


Bu ayar, Apache'nin PHP-FPM üzerinden PHP dosyalarını yönlendirmesini sağlar.

PHP-FPM ve Performans Optimizasyonu



PHP-FPM'i doğru şekilde yapılandırdığınızda, web uygulamanızın performansını gözle görülür şekilde artırabilirsiniz. Ancak, sisteminizin ve trafiğinizin gereksinimlerine göre bu ayarları sürekli gözden geçirmeniz gerekecektir.

1. Bellek Sınırlamaları:
PHP'nin bellek kullanımını sınırlamak için aşağıdaki ayarları kullanabilirsiniz:


memory_limit = 256M


Bu ayar, PHP'nin her betik çalıştırıldığında kullanabileceği maksimum belleği belirler.

2. Yük Dengelemesi ve İşlem Sayısı:
Daha fazla işlem çalıştırmak, PHP-FPM’i daha verimli hale getirebilir. Ancak, aşırı yükleme yapmamak için işlemleri dikkatli bir şekilde yönetin.

Sonuç



PHP-FPM, doğru yapılandırıldığında, web uygulamalarınızın hızını ve verimliliğini önemli ölçüde artırabilir. Yukarıdaki adımları takip ederek, PHP-FPM'i kurabilir ve ihtiyaçlarınıza göre yapılandırabilirsiniz. Unutmayın, her sistemin farklı gereksinimleri vardır, bu yüzden yapılandırmalarınızı sisteminize özel olarak ayarlamayı ihmal etmeyin.

İ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...