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:
  • root dizini, web içeriğinizi barındıran dizin olmalı.
  • try_files direktifi, WordPress veya diğer CMS’ler gibi uygulamalarda düzgün URL yönlendirmesi sağlar.
  • fastcgi_pass satırı, PHP-FPM socket yolunu belirtir ve PHP sürümüne göre güncellenmelidir.
  • Güvenlik için, .ht dosyası 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.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi