Nginx Sunucuda PHP-FPM Ayarları
Sunucu performansını optimize etmek ve güvenilirliği artırmak amacıyla, Nginx ile PHP-FPM’nin doğru yapılandırılması kritik önemdedir. Bu konu, genellikle yüksek trafikli web siteleri veya uygulamalar için vazgeçilmez bir detaydır.
Öncelikle, PHP-FPM’nin temel çalışma prensibi, PHP’yi Nginx ile entegre ederek statik içerik ve dinamik içerik işlemlerini optimize etmektir. Nginx, statik dosyaları doğrudan sunarken, PHP istekleri PHP-FPM’ye yönlendirilir. Bu yapılandırmanın başarısı, PHP-FPM’nin doğru şekilde ayarlanmasına bağlıdır.
PHP-FPM’nin yapılandırmasında dikkat edilmesi gereken ilk nokta,
php-fpm.ini ve pool ayarlarıdır. Bu ayarlar genellikle
/etc/php/7.x/fpm/pool.d/www.conf veya benzeri bir dizinde bulunur. Burada,
listen parametresi, PHP-FPM’nin dinleyeceği adres veya portu belirler. Örneğin:
12
listen = /run/php/php7.x-fpm.sock
Alternatif olarak, TCP soketi kullanmak için:
12
listen = 127.0.0.1:9000
Performans açısından,
pm (process manager) ayarları önemli. Özellikle,
pm = dynamic kullanılırsa, maksimum ve minimum çalışan PHP-FPM süreçleri belirlenmelidir:
123456
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
Nginx tarafında ise,
nginx.conf veya ilgili site konfigürasyon dosyasında, PHP istekleri için uygun ayarlar yapılmalı. Örnek:
12345
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.x-fpm.sock;
}
Burada,
fastcgi_pass ile PHP-FPM soket adresi veya IP:port belirlenir. Ayrıca, performans ve güvenlik açısından,
fastcgi_param ve
fastcgi_buffers gibi ayarların da optimize edilmesi gerekir.
Son olarak, ayarların değişikliklerini yaptıktan sonra, PHP-FPM ve Nginx hizmetlerini yeniden başlatmak gerekir:
123
sudo systemctl restart php7.x-fpm
sudo systemctl restart nginx
Bu yapılandırma, sunucu kaynaklarınızı etkin kullanmanızı sağlar, işlem sürelerini kısaltır ve yüksek trafikli ortamlar için stabil çözümler sunar. PHP-FPM ve Nginx arasındaki uyumun sağlanması kritik olduğundan, ayarların sistem ihtiyaçlarına göre dikkatle düzenlenmesi önemlidir.