# Nginx

Adres: https://softwaredictionary.org/tr/terimler/nginx
Kategori: Backend ve API'ler
Son güncelleme: 2026-10-03
Okunuşu: encin eks

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.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
