Sobes.tech
Junior

Nginx nə üçün istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Nginx yüksək performanslı asinxron veb server və tərs proxy serverdir və aşağıdakı məqsədlər üçün istifadə olunur:

  1. Statik faylların xidməti: HTML, CSS, JavaScript, şəkillər və digər statik resursların sürətli və səmərəli çatdırılması. Asinxron memarlığı sayəsində çoxsaylı eyni vaxtda əlaqələri aşağı resurs sərfi ilə idarə edə bilər.
  2. Tərs proxy: Müştəri sorğularını bir və ya bir neçə backend serverə (tətbiqlər, API-lər) yönəltmək və cavabları müştərilərə geri göndərmək. Bu, yükü balanslaşdırmağa, təhlükəsizliyi artırmağa (şəbəkənin daxili strukturunu gizlətmək) və SSL terminasyonunu həyata keçirməyə imkan verir.
  3. Yük balanslaşdırması: Gələn sorğuları bir neçə server arasında paylamaq, tətbiqin mövcudluğunu və miqyasını artırmaq üçün. Müxtəlif algoritmləri dəstəkləyir (məsələn, round robin, ən az əlaqə).
  4. Keş: Statik və dinamik resursların keşlənməsi, backend üzərindəki yükü azaltmaq və cavabları sürətləndirmək üçün.
  5. SSL/TLS terminasyonu: HTTPS trafikin şifrəsini açmaq, onu backend-ə göndərmədən əvvəl, bu, serverlərin yükünü azaldır və sertifikatların mərkəzləşdirilmiş idarə olunmasına imkan verir.
  6. Sıxışdırma: Məlumatların sıxışdırılması (məsələn, Gzip) və bu məlumatların müştəriyə göndərilməsindən əvvəl, trafik azaldılır və səhifələrin yüklənmə sürəti artır.
  7. Sorğu sürətinin məhdudlaşdırılması: Backend-ləri həddindən artıq yüklənmədən qorumaq üçün, müəyyən vaxt ərzində bir müştəridən gələn sorğuların sayını məhdudlaşdırmaq.
  8. Veb tətbiq firewall (WAF): Ümumi veb hücumlara (məsələn, SQL injeksiyaları, XSS) qarşı əsas qoruma.
# Statik faylların xidməti və API proxy üçün Nginx konfiqurasiya nümunəsi

server {
    listen 80;
    server_name example.com; # Domen adı

    location / {
        root /var/www/html; # Statik faylların yolu
        index index.html;
    }

    location /api/ {
        proxy_pass http://backend_server:8080; # API sorğularını başqa serverə proxy etmək
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}