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:
- 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.
- 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.
- 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ə).
- 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.
- 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.
- 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.
- 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.
- 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;
}
}