Ana içeriğe geç

Nginx

Okunuşu
encin eks
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/nginx

Kısaca

Nginx, uygulama sunucularının önünde ters proxy, yük dengeleyici ve HTTP önbelleği olarak da çok kullanılan, hızlı ve açık kaynaklı bir web sunucusudur.

Nginx nedir?

"Engine x" diye okunan Nginx, Igor Sysoev tarafından geliştirildi ve 2004'te belirli bir sorunu çözmek için yayımlandı: tek bir makinede aynı anda binlerce bağlantıya hizmet vermek. Her ziyaretçi için yeni bir thread ya da süreç başlatmak yerine, bağlantıları bir olay döngüsüyle işleyen az sayıda işçi süreç kullanır; bu da ağır yük altında bellek kullanımını düşük ve dengeli tutar.

Web sunucusu olarak Nginx; HTML, CSS, görseller ve indirmeler gibi statik dosyaları çok verimli sunar. Ters proxy olarak internetten gelen istekleri alır ve Node.js, Python, PHP ya da başka bir dille yazılmış uygulama sunucularına iletir; böylece uygulama internetle doğrudan yüz yüze gelmez. Bu sırada HTTPS'i sonlandırabilir, yanıtları sıkıştırabilir, önbelleğe alabilir ve hız sınırları uygulayabilir.

Bir uygulamanın birkaç kopyasına istek dağıtan bir yük dengeleyici ve /api ile /static gibi yolları farklı yerlere yönlendiren bir ağ geçidi olarak da çalışabilir. Bunların hepsi, genellikle nginx.conf olan ve server ile location gibi bloklardan oluşan düz metin bir yapılandırma dosyasında tarif edilir.

Sık yapılan bir yanlış, uygulama kodunuzu Nginx'in çalıştırdığı düşüncesidir. Çoğunlukla istekleri bu işi yapan başka süreçlere iletir: PHP için PHP-FPM ile konuşur, Node.js için Node sunucusuna proxy yapar. Apache httpd ile birlikte dünyada en çok kullanılan web sunucularından biridir ve popüler Kubernetes ingress denetleyicilerinin de temelidir.

Önemli noktalar

  • Nginx açık kaynaklı bir web sunucusu, ters proxy, yük dengeleyici ve önbellektir.
  • Olay güdümlü tasarımı, binlerce bağlantıyı düşük maliyetle işlemesini sağlar.
  • Statik dosyaları sunar, dinamik istekleri uygulama sunucularına iletir.
  • Yol üzerinde HTTPS'i sonlandırabilir, sıkıştırabilir, önbelleğe alabilir ve hız sınırlayabilir.
  • Davranışı, genellikle nginx.conf olan düz metin bir yapılandırma dosyasında ayarlanır.

Örnek

Statik dosyaları sunmak ve bir uygulamaya proxy yapmak (nginx.conf)nginx
server {
    listen 80;
    server_name example.com;

    # Static files straight from disk
    location /static/ {
        root /var/www;
    }

    # Everything else goes to the app on port 3000
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Sık sorulan sorular

Nginx nasıl okunur?

"Engine x" diye okunur; Türkçede "encin eks" gibi.

Nginx ile Apache arasındaki fark nedir?

İkisi de popüler, açık kaynaklı web sunucularıdır. Nginx birçok bağlantıyı az bellekle işleyen olay güdümlü bir tasarım kullanır ve çoğu zaman ters proxy olarak kullanılır; Apache httpd ise geleneksel olarak bağlantı başına bir süreç ya da thread kullanır ve dizin bazında .htaccess dosyalarını destekler.

Nginx bir yük dengeleyici mi?

Olabilir. Dosya sunmanın ve istekleri iletmenin yanı sıra Nginx, round robin ya da en az bağlantı gibi yöntemlerle trafiği birkaç arka sunucuya dağıtabilir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar