PHP-FPM Linux Üzerinde Kurulumu ve Ayarları: Adım Adım Rehber

PHP-FPM’in Linux üzerinde kurulumu ve doğru ayarları hakkında adım adım bir rehber. Yüksek trafikli web sitelerinin performansını arttırmak isteyen geliştiriciler için ideal bir çözüm.

BFS

Linux üzerinde PHP-FPM (FastCGI Process Manager) kurulumu ve yapılandırması, web geliştiricilerinin en sevdiği adımlardan biridir. Çünkü PHP-FPM, özellikle yüksek trafikli web sitelerinde mükemmel performans ve stabilite sağlar. Ama endişelenme, bu yazı seni hiç zorlamadan PHP-FPM ile tanıştıracak ve gerekli ayarları yapmanı sağlayacak. Haydi başlayalım!

PHP-FPM Nedir?
PHP-FPM, PHP'nin daha hızlı çalışmasını sağlayan bir FastCGI işlemi yöneticisidir. Yani, PHP'nin her istek için yeni bir işlem oluşturmasına gerek kalmaz. Bu da sistem kaynaklarının daha verimli kullanılmasını ve yüksek trafikli sitelerde hızın artmasını sağlar. Ancak, PHP-FPM'in faydalarından tam anlamıyla yararlanabilmek için doğru kurulumu ve ayarları yapmak gerekir. İşte adım adım nasıl kurabileceğine göz atalım.

### 1. PHP-FPM Kurulumu
İlk adım, PHP-FPM'i sistemine kurmak olacak. Çoğu Linux dağıtımı, PHP-FPM paketini kendi depolarında bulundurur. Bu nedenle, kurulum oldukça basittir. Terminali aç ve aşağıdaki komutu kullan:


sudo apt update
sudo apt install php-fpm


Bu komut, sistemini günceller ve PHP-FPM paketini yükler. Yükleme tamamlandığında, PHP-FPM servisinin otomatik olarak başladığını göreceksin. Eğer bir nedenden dolayı servisi başlatmak istersen, şu komutu kullanabilirsin:


sudo systemctl start php7.4-fpm


PHP-FPM’in doğru kurulduğunu doğrulamak için şu komutu kullanabilirsin:


sudo systemctl status php7.4-fpm


Burada `php7.4-fpm` kısmı, kullandığın PHP versiyonuna göre değişebilir. PHP versiyonunun doğru olduğundan emin ol.

2. Nginx ile PHP-FPM Entegrasyonu
PHP-FPM'i kurduktan sonra, web sunucunu da PHP ile uyumlu hale getirmen gerekiyor. Eğer Nginx kullanıyorsan, PHP-FPM ile entegrasyon biraz farklı olacak. Nginx'i PHP-FPM ile çalıştırmak için aşağıdaki adımları izle.

Öncelikle, Nginx'in PHP-FPM ile çalışacak şekilde ayarlanması gerekiyor. Nginx konfigürasyon dosyasına git ve PHP'yi yönlendirecek bir `location` bloğu ekle. Bu ayar, Nginx'in PHP-FPM ile düzgün bir şekilde iletişim kurmasını sağlar.

Konfigürasyon dosyasını şu şekilde düzenle:


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.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location / {
        try_files $uri $uri/ =404;
    }
}


Burada `php7.4-fpm.sock` kısmı, PHP versiyonuna göre değişebilir. Konfigürasyonu kaydettikten sonra, Nginx'i yeniden başlatman gerekecek:


sudo systemctl restart nginx


Bu adımlar, Nginx ile PHP-FPM'in entegre edilmesini sağlar ve PHP dosyalarını düzgün şekilde çalıştırabilirsin.

3. PHP-FPM Ayarları
PHP-FPM'in performansını artırmak için bazı önemli ayarlara göz atman gerekebilir. En yaygın yapılan ayarlar şunlardır:

- pm.max_children: PHP-FPM işlem havuzunun maksimum kapasitesini belirler. Bu, sistemin ne kadar eşzamanlı PHP işlemi çalıştırabileceğini belirler.
- pm.start_servers: PHP-FPM servisinin başlangıçta kaç işlem başlatacağını belirler.
- pm.min_spare_servers: PHP-FPM'in her zaman çalıştırması gereken minimum boş (idle) işlem sayısını belirtir.
- pm.max_spare_servers: PHP-FPM’in çalıştırabileceği maksimum boş işlem sayısını belirler.

PHP-FPM konfigürasyon dosyasını açmak için şu komutu kullan:


sudo nano /etc/php/7.4/fpm/pool.d/www.conf


Dosyada, aşağıdaki ayarları bulabilir ve ihtiyacına göre düzenleyebilirsin:


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


Bu ayarlarla PHP-FPM'in performansını optimize edebilirsin. Ayarları kaydettikten sonra PHP-FPM servisini yeniden başlatmayı unutma:


sudo systemctl restart php7.4-fpm


4. PHP-FPM Güvenlik Ayarları
PHP-FPM ile güvenlik, oldukça önemli bir konudur. Özellikle PHP-FPM'in doğru güvenlik önlemleriyle çalıştığından emin olmak gerekir. PHP-FPM için önerilen bazı güvenlik önlemleri:

- open_basedir: Bu, PHP'nin hangi dosyalar üzerinde işlem yapabileceğini belirler. Bu ayarı etkinleştirerek, PHP'nin sistemdeki her dosyayı okumasını engelleyebilirsin.
- disable_functions: PHP'nin zararlı veya gereksiz işlevlerinin kullanımını kısıtlamak için bu ayarı kullanabilirsin. Örneğin, `shell_exec()` gibi tehlikeli işlevleri devre dışı bırakmak faydalı olabilir.

PHP-FPM konfigürasyon dosyasına aşağıdaki gibi eklemeler yapabilirsin:


php_admin_value[open_basedir] = /var/www/html
php_admin_value[disable_functions] = shell_exec, exec


Bu ayarlarla PHP-FPM’in güvenliğini artırabilirsin.

5. PHP-FPM Logları
PHP-FPM’in loglarını izlemek, olası hataları tespit etmek ve performans sorunlarını gidermek için faydalıdır. PHP-FPM loglarını şu komutla görüntüleyebilirsin:


sudo tail -f /var/log/php7.4-fpm.log


Bu komut, PHP-FPM’in çalışırken kaydettiği logları gerçek zamanlı olarak izlemeni sağlar.

### Sonuç
PHP-FPM, Linux üzerinde web uygulamaları için mükemmel bir performans sunar. Doğru kurulumu ve ayarları ile web siten hızlanır ve daha verimli hale gelir. Yukarıdaki adımları takip ederek PHP-FPM’i sorunsuz bir şekilde kurabilir, yapılandırabilir ve güvenli bir şekilde kullanabilirsin. Artık sen de hızlı ve güvenli bir PHP-FPM ortamına sahipsin!

İlgili Yazılar

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

PHP Undefined Function Hatası ve Çözümü: Ne Oldu? Ne Yapmalısınız?

PHP'de program yazarken, karşınıza çıkan hatalardan biri de "Undefined Function" hatasıdır. Bu hata, çoğu zaman deneyimsiz geliştiricilerin canını sıkabilir. Peki, nedir bu "Undefined Function" hatası ve nasıl çözülür? İşte bu yazıda, bu hatanın ne olduğunu,...

PHP "Warning: Division by zero" Hatası: Sorun, Çözüm ve Dikkat Edilmesi Gerekenler

PHP dünyasında, programcıların karşılaştığı en yaygın hatalardan biri olan "Warning: Division by zero" hatasını ele alıyoruz. Bu hata, küçük bir bölücü hatasından dolayı uygulamanızın çalışmasını engelleyebilir. Hadi, bu hatayı daha yakından inceleyelim...

DirectAdmin Nasıl Kurulur ve Yapılandırılır?

DirectAdmin Nedir ve Neden Kullanılır?Merhaba arkadaşlar! Bugün, birçok web yöneticisinin en çok tercih ettiği kontrol paneli olan DirectAdmin’i nasıl kuracağımızı ve yapılandıracağımızı keşfedeceğiz. İlk başta, DirectAdmin nedir, biraz ondan bahsedelim.DirectAdmin,...