Konuyu Açan
#1
Nginx üzerinde PHP tabanlı bir script çalıştırmak için uygun bir VirtualHost yapılandırması yapmak, hem performans hem de güvenlik açısından kritik öneme sahiptir. Bu süreç, Apache'den farklı olarak Nginx'in kendi yapılandırma dilini ve PHP-FPM entegrasyonunu içerir. Bu yazıda, temel adımlar ve örnek konfigürasyonlar üzerinden bu kurulumu detaylandıracağım.
İlk olarak, Nginx’in temel çalışma prensibini anlamak gerekir. Nginx, statik içerikleri doğrudan sunarken, dinamik içerik için PHP gibi sunucu tarafı dil motorlarına PHP-FPM (FastCGI Process Manager) aracılığıyla yönlendirme yapar. Bu nedenle, öncelikle PHP-FPM kurulumunu ve yapılandırmasını tamamlamış olmanız gerekir.
İkinci adımda, yeni bir VirtualHost yapılandırması oluşturmak. Örneğin, diyelim ki “example.com” alan adını kullanıyorsunuz. Bu durumda,
/etc/nginx/sites-available/ dizininde yeni bir dosya açar ve aşağıdaki gibi temel bir yapılandırma yaparsınız:KOD
1234567891011121314151617181920212223
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public_html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # PHP sürümüne göre değişebilir
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Burada dikkat edilmesi gereken noktalar:
rootdizini, web içeriğinizi barındıran dizin olmalı.try_filesdirektifi, WordPress veya diğer CMS’ler gibi uygulamalarda düzgün URL yönlendirmesi sağlar.fastcgi_passsatırı, PHP-FPM socket yolunu belirtir ve PHP sürümüne göre güncellenmelidir.- Güvenlik için,
.htdosyası erişimini engelleyen kısıtlamalar eklenmiştir.
Son olarak, yapılandırmayı etkinleştirmek ve Nginx’i yeniden başlatmak gerekir:
KOD
1234
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Bu adımlar tamamlandığında, PHP tabanlı scriptleriniz Nginx üzerinde çalışmaya hazır hale gelir. Bu temel yapılandırma, ihtiyaçlara göre genişletilebilir ve güvenlik ile performans iyileştirmeleri yapılabilir. Nginx ve PHP-FPM entegrasyonunu detaylandırmak veya özel ihtiyaçlar için ek ayarlar yapmak gerekebilir.
