← Back to list

Nginx Nedir? Kurulumdan Production Seviyesine Kadar Detaylı Rehber.

Modern web uygulamaları artık sadece çalışmakla yetinmiyor; hızlı, güvenli ve ölçeklenebilir olmak zorunda. Kullanıcılar milisaniyelerle…

Doğucan Yeğin · 2026-04-06 12:11 · 0 claps · 3.1 min read
#nginx #rehber #nginx-proxy #installation
Open on Medium ↗

Nginx Nedir? Kurulumdan Production Seviyesine Kadar Detaylı Rehber.

Modern web uygulamaları artık sadece çalışmakla yetinmiyor; hızlı, güvenli ve ölçeklenebilir olmak zorunda. Kullanıcılar milisaniyelerle yarışan deneyimler beklerken, geliştiriciler de artan trafik ve karmaşık sistem mimarileriyle başa çıkmak zorunda kalıyor. İşte tam bu noktada, sahneye uzun yıllardır kendini kanıtlamış güçlü bir araç çıkıyor: Nginx.

İlk bakışta basit bir web sunucusu gibi görünse de Nginx, aslında modern backend mimarilerinin merkezinde yer alan çok yönlü bir çözüm. Reverse proxy’den load balancing’e, cache mekanizmalarından güvenlik katmanına kadar birçok kritik görevi üstlenebilir. Üstelik bunu minimum kaynak tüketimiyle, maksimum performansla yapar.

Bu yazıda Nginx’i sadece “kur ve çalıştır” seviyesinde değil, gerçek dünya projelerinde nasıl konumlandırman gerektiğiyle ele alacağız. Eğer bir backend geliştiriciysen ya da sistemini production seviyesine taşımak istiyorsan, burada anlatılanlar doğrudan işine yarayacak.

Bu yazıda:

  • Nginx nedir
  • Nasıl kurulur
  • Reverse proxy nasıl yapılır
  • Node.js / backend ile nasıl kullanılır
  • Production optimizasyonları

hepsini gerçek dünya kullanımına uygun şekilde anlatacağım.

Nginx Nedir?

Nginx, açık kaynaklı bir:

  • Web server
  • Reverse proxy
  • Load balancer
  • HTTP cache sunucusudur

Apache’den farkı: Event-driven (asenkron) mimari kullanır

Bu sayede:

  • Daha az RAM tüketir
  • Aynı anda daha fazla request handle eder

Nginx Mimarisi

Nginx şu şekilde çalışır:

  • Master Process
  • Worker’ları yönetir
  • Worker Process
  • Request’leri işler

Önemli nokta: Her worker binlerce request’i aynı anda handle edebilir.

Nginx Kurulumu (Ubuntu)

sudo apt update
sudo apt install nginx -y

Servisi başlat:

sudo systemctl start nginx
sudo systemctl enable nginx

Kontrol:

systemctl status nginx

Tarayıcıdan:

http://server-ip

Nginx Dosya Yapısı

Ana config:

/etc/nginx/nginx.conf

Site configleri:

/etc/nginx/sites-available/
/etc/nginx/sites-enabled/

Basit Bir Site Yayınlama

Yeni config oluştur:

sudo nano /etc/nginx/sites-available/myapp
server {
    listen 80;
    server_name example.com;root /var/www/myapp;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

Aktif et:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Reverse Proxy (Node.js ile Kullanım)

Nginx’in en güçlü özelliği burada başlıyor.

Backend geliştiren biri için en kritik kullanım

server {
    listen 80;
    server_name api.example.com;location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Mimari Görünüm

Akış:

Client → Nginx → Node.js App

Avantajlar:

  • SSL burada çözülür
  • Rate limit uygulanır
  • Cache yapılır
  • Backend gizlenir

SSL (HTTPS) Kurulumu (Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
  • Otomatik olarak; SSL ekler, redirect yapar (HTTP → HTTPS)

Performans Ayarları

1. Worker Ayarı

worker_processes auto;

2. Connection Ayarı

events {
    worker_connections 1024;
}

3. Gzip Aç

http {
    gzip on;
    gzip_types text/plain text/css application/json application/javascript;
}

4. Cache Ayarı

location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
    expires 30d;
    access_log off;
}

Rate Limiting (DDoS Koruma)

http {
    limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
server {
        location /api/ {
            limit_req zone=api_limit burst=20 nodelay;
        }
    }
}

🧩 Load Balancer Kurulumu

upstream backend {
    server 127.0.0.1:3000;
    server 127.0.0.1:3001;
}
location / {
    proxy_pass http://backend;
}

Nginx Logları

Access log:

/var/log/nginx/access.log

Error log:

/var/log/nginx/error.log

Canlı izleme:

tail -f /var/log/nginx/access.log

Production Tavsiyeleri

Gerçek projede şunları mutlaka yap:

  • ✅ Cloudflare veya CDN kullan
  • ✅ Rate limit aktif et
  • ✅ Fail2Ban kur
  • ✅ Log rotation ayarla
  • ✅ Docker ile izole et
  • ✅ Health check endpoint ekle

Bonus: Microservice Özel

Mikroservis mimarisi kullanıyorsan:

location /api/user {
    proxy_pass http://user-service:3000;
}
location /api/wallet {
    proxy_pass http://wallet-service:3001;
}

Bu sayede:

  • Tek domain
  • Çok servis
  • Temiz API gateway

Sonuç:

Görüldüğü gibi Nginx, basit bir web sunucusundan çok daha fazlasını sunuyor. Doğru yapılandırıldığında; uygulamanın performansını artıran, güvenliğini güçlendiren ve ölçeklenebilirliğini sağlayan kritik bir katman haline geliyor. Özellikle modern mikroservis mimarilerinde ve yüksek trafikli sistemlerde Nginx, adeta görünmeyen bir omurga gibi çalışır.

Bu yazıda temel kurulumdan başlayarak reverse proxy, SSL, cache, rate limiting ve load balancing gibi production seviyesinde ihtiyaç duyacağın yapıların çoğunu ele aldık. Ancak Nginx dünyası bunlarla sınırlı değil; daha ileri seviyede CDN entegrasyonu, container orchestration (Docker & Kubernetes) ve gelişmiş güvenlik senaryoları ile çok daha güçlü sistemler kurmak mümkün.

Eğer kendi projelerinde Nginx’i aktif olarak kullanmaya başlarsan, zamanla sadece bir araç değil, mimarinin en kritik parçalarından biri haline geldiğini fark edeceksin. Bu noktadan sonra mesele artık “Nginx kullanmak” değil, onu ne kadar verimli ve doğru konumlandırabildiğin olacak.


메타데이터
post_id
a4c9eabc111b
slug
nginx-nedir-kurulumdan-production-seviyesine-kadar-detaylı-rehber-a4c9eabc111b
url
https://medium.com/@dogucanyegin81/nginx-nedir-kurulumdan-production-seviyesine-kadar-detayl%C4%B1-rehber-a4c9eabc111b
canonical_url
https://medium.com/@dogucanyegin81/nginx-nedir-kurulumdan-production-seviyesine-kadar-detayl%C4%B1-rehber-a4c9eabc111b
author_url
https://medium.com/@dogucanyegin81
status
ok
fetched_at
2026-07-07 20:18:40