Nginx Nedir?
İngilizce: Nginx
Nginx, olay güdümlü mimarisiyle statik içerik sunan, reverse proxy yapan ve trafiği birden çok sunucuya dağıtan web sunucusudur.
Nginx Nedir?
Nginx, yüksek eşzamanlı bağlantıları verimli yönetmek için olay güdümlü mimari kullanan bir web sunucusu ve proxy yazılımıdır. Statik dosya sunabilir, uygulama sunucularının önünde reverse proxy olarak çalışabilir ve trafiği birden fazla backend’e dağıtabilir.
Apache gibi süreç veya thread ağırlıklı modellere kıyasla Nginx, az sayıda worker ile çok sayıda bağlantıyı yönetmeye odaklanır. Bu nedenle statik içerik, API geçidi, TLS sonlandırma ve yük dengeleme senaryolarında sık kullanılır.
Nginx Ne Yapar?
- Statik dosya sunumu: HTML, CSS, JS, görsel ve indirilebilir dosyaları hızlı sunar.
- Reverse proxy: İstekleri Node.js, PHP-FPM, Python veya Java uygulamalarına aktarır.
- Load balancing: Trafiği birden fazla sunucuya dağıtır.
- TLS termination: HTTPS sertifika işlemini uygulama sunucusundan ayırır.
- Caching ve compression: Yanıtları önbelleğe alabilir, gzip veya brotli ile küçültebilir.
İş Dünyasında Kullanımı
Nginx, küçük bir kurumsal web sitesinden yüksek trafikli API altyapısına kadar farklı ölçeklerde kullanılabilir. Uygulama sunucusunu doğrudan internete açmak yerine Nginx araya konduğunda yönlendirme, güvenlik başlıkları, oran sınırlama ve loglama merkezi yönetilebilir.
Reverse proxy ve load balancer rolü dikkatli yapılandırılmalıdır. Yanlış timeout, eksik X-Forwarded-* başlıkları veya hatalı cache kuralları kullanıcı oturumlarını, IP loglarını ve güncel veri gösterimini etkileyebilir.
İlgili Terimler
Load balancer, gelen ağ trafiğini birden fazla sunucu arasında dağıtarak yüksek erişilebilirlik ve performans sağlayan sistem bileşenidir.
Reverse ProxyReverse proxy, istemci trafiğini arka uç sunuculara ileten; TLS sonlandırma, önbellek, yönlendirme ve yük dengeleme yapan ara katmandır.