PHP-FPM Nedir ve Neden Kullanılır?
PHP-FPM Kurulumu Adım Adım
1. PHP ve PHP-FPM Paketlerini Yükleyin:
İlk olarak, PHP ve PHP-FPM paketlerini yüklemelisiniz. Bunun için terminale şu komutu yazın:
sudo apt update
sudo apt install php-fpm php-mysql
Burada `php-fpm` PHP için FastCGI işlem yöneticisini ve `php-mysql` ise PHP'nin MySQL ile çalışabilmesi için gerekli olan genişletmeyi yükler.
2. PHP-FPM Konfigürasyon Dosyasını Düzenleyin:
PHP-FPM kurulduktan sonra, yapılandırma dosyasını düzenlemeniz gerekebilir. Bu dosya genellikle `/etc/php/7.x/fpm/pool.d/www.conf` yolunda bulunur (PHP sürümünüz neyse, `7.x` kısmı ona göre değişecektir). Aşağıdaki komutla dosyayı açabilirsiniz:
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
Burada, PHP-FPM işlem havuzunun temel ayarlarını yapabilirsiniz. Örneğin, web siteniz için `user` ve `group` değerlerini, çalışma dizinini, bellek limitlerini ve işlem sayısını burada ayarlayabilirsiniz.
```ini
user = www-data
group = www-data
listen = /run/php/php7.x-fpm.sock
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
```
Bu ayarlar PHP-FPM'inizi verimli bir şekilde çalıştırmanıza yardımcı olacaktır. `pm.max_children` değeri, aynı anda kaç PHP işlemine izin verileceğini belirler. `pm.start_servers`, başlatılacak PHP işlemlerinin sayısını kontrol eder.
3. PHP-FPM'i Başlatın ve Durumunu Kontrol Edin:
PHP-FPM'i başlatmak için şu komutu kullanabilirsiniz:
sudo systemctl start php7.x-fpm
PHP-FPM'in doğru bir şekilde çalıştığını kontrol etmek için:
sudo systemctl status php7.x-fpm
4. Web Sunucusunu Yapılandırın (Nginx veya Apache):
PHP-FPM'in doğru çalışabilmesi için web sunucusunun da yapılandırılması gerekir. Eğer Nginx kullanıyorsanız, PHP-FPM ile uyumlu hale getirmek için aşağıdaki gibi bir yapılandırma yapmalısınız:
```nginx
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:/run/php/php7.x-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
Apache kullanıyorsanız, PHP-FPM ile çalışacak şekilde `proxy_fcgi` modülünü aktif hale getirmelisiniz:
```apache
SetHandler proxy:fcgi://127.0.0.1:9000
```
5. PHP-FPM'i Yeniden Başlatın:
Yapılandırma dosyalarını değiştirdikten sonra PHP-FPM'i yeniden başlatmanız gerekebilir:
sudo systemctl restart php7.x-fpm
PHP-FPM Performans Ayarları
PHP-FPM için bazı önemli ayarları şunlardır:
- pm.max_children: Bu, PHP-FPM'in aynı anda çalıştırabileceği maksimum işlem sayısını belirler. Trafiği yüksek olan siteler için değeri artırmak önemlidir.
- pm.start_servers: PHP-FPM başlatıldığında, başlatılacak başlangıç sunucusu sayısını belirler.
- pm.max_spare_servers: PHP-FPM'in fazla işlem başlatmaması için bu değeri sınırlayabilirsiniz.
PHP-FPM konfigürasyonunda yapılan bu ince ayarlar, web sitenizin hızını ve sunucu kaynaklarının verimli kullanımını doğrudan etkiler. Web sunucusu ile PHP-FPM arasındaki uyum, sitenizin daha hızlı ve kesintisiz çalışmasını sağlar.