Bu makalede6 bölüm
- Teknoloji
- Nginx, Apache HTTP Server, Microsoft IIS
- Konu
- Web sunucusu seçimi
- Seviye
- Orta
Kurumsal web projelerinde “hangi web sunucusu?” sorusunun tek doğru cevabı yoktur. Nginx, Apache HTTP Server ve Microsoft IIS farklı mimarilere ve güçlü yanlara sahiptir; çoğu zaman aynı altyapıda birlikte kullanılırlar. Bu rehber üçünü mimari, uygulama barındırma, yapılandırma modeli, protokol desteği ve işletim açısından karşılaştırır.
Mimari farklar
Nginx olay tabanlı (event-driven), asenkron bir mimariyle az sayıda işçi süreciyle çok sayıda bağlantıyı yönetir. Bu yapı yüksek eşzamanlılıkta düşük bellek kullanımı sağlar ve Nginx’i reverse proxy, yük dengeleyici ve statik dosya sunucusu olarak öne çıkarır. Apache Çoklu İşlem Modülleri (MPM) ile çalışır: eski prefork modeli her bağlantıya bir süreç ayırırken, event MPM bekleyen bağlantıları ayrı iş parçacıklarıyla yöneterek modern iş yüklerine uygun hale gelir. IIS Windows çekirdeğindeki HTTP.sys sürücüsü üzerinde çalışır, uygulamaları application pool’larda izole eder ve Windows kimlik doğrulaması ile .NET ekosistemiyle bütünleşiktir.
Karşılaştırma tablosu
| Ölçüt | Nginx | Apache | IIS |
|---|---|---|---|
| İşletim sistemi | Linux/Unix (Windows sürümü sınırlı) | Linux/Unix, Windows | Windows Server |
| Güçlü olduğu alan | Reverse proxy, yüksek eşzamanlılık, statik dosya | Modül ekosistemi, .htaccess, paylaşımlı hosting | ASP.NET/.NET, Windows kimlik doğrulaması |
| PHP | PHP-FPM (FastCGI) | PHP-FPM (proxy_fcgi) veya mod_php | FastCGI |
| Node.js / Next.js | Reverse proxy ile çok yaygın | mod_proxy ile | ARR / iisnode yaklaşımları |
| Dizin bazlı yapılandırma | Yok (merkezi yapılandırma) | .htaccess | web.config |
| HTTP/2 | Var | mod_http2 (event MPM ile) | Var |
| HTTP/3 (QUIC) | 1.25 ve sonrası, QUIC destekli derleme ile | Yerleşik değil; önde CDN/proxy | Windows Server 2022 ve sonrası, koşullu |
| Yönetim | Metin yapılandırma, reload | Metin yapılandırma, panel desteği yaygın | IIS Yöneticisi, PowerShell |
Senaryolara göre öneri
- Next.js, Node.js veya API servisleri: Nginx önde reverse proxy olarak; TLS, sıkıştırma, hız sınırlama ve statik dosyalar Nginx’te.
- Yüksek trafikli WordPress/WooCommerce: Nginx + PHP-FPM veya Nginx önde, Apache arkada; tam sayfa cache ile birlikte.
- Virtualmin/cPanel ile çok siteli hosting: Apache (event MPM + PHP-FPM) yaygın ve panel uyumludur; .htaccess kullanan uygulamalar sorunsuz çalışır.
- ASP.NET, Windows kimlik doğrulaması kullanan iç uygulamalar: IIS; uygulama başına application pool ve en az yetkili kimlik.
- Karma ortam: Önde Nginx veya CDN, arkada Linux ve Windows uygulama sunucuları.
Yapılandırma modelinin işletime etkisi
Apache’nin .htaccess desteği, sunucu yöneticisi olmayan kullanıcıların dizin bazında kural tanımlamasına izin verir; ancak her istekte dizin ağacındaki dosyaların okunması performans maliyeti getirir ve kurallar dağınıklaşır. Nginx’te tüm kurallar merkezi yapılandırmadadır: daha hızlı ve öngörülebilirdir, fakat değişiklik için sunucu erişimi gerekir. IIS’te web.config uygulama ile birlikte dağıtılır; bu, yayın süreciyle uyumludur ancak yanlış bir web.config uygulamayı tamamen durdurabilir.
Hangisini seçerseniz seçin: ortak kontrol listesi
- TLS 1.2/1.3, güçlü şifre takımları, HSTS ve otomatik sertifika yenileme.
- Güvenlik başlıkları (CSP, X-Content-Type-Options, Referrer-Policy) ve sürüm bilgisinin gizlenmesi.
- Giriş ve API uç noktalarında hız sınırlama (sunucuda veya CDN’de).
- Yanıt süresini içeren erişim logları ve log rotasyonu.
- Yapılandırmanın sürüm kontrolünde tutulması, test ve geri dönüş prosedürü.
- Kaynak ve erişilebilirlik izleme.
Sık sorulan sorular
Nginx ve Apache aynı sunucuda birlikte kullanılabilir mi?
Evet. Yaygın bir mimaride Nginx önde TLS, statik dosya, cache ve hız sınırlama işlerini yapar; dinamik istekleri arkadaki Apache’ye iletir. Böylece .htaccess uyumluluğu korunurken eşzamanlılık davranışı iyileşir.
Hangisi daha güvenli?
Üçü de doğru yapılandırıldığında ve güncel tutulduğunda güvenlidir. Güvenliği yazılımın adından çok yapılandırma, güncelleme disiplini, gereksiz modüllerin kapatılması ve uygulama katmanı belirler.
PHP uygulamaları IIS’te çalışır mı?
Çalışır (FastCGI ile), ancak PHP ekosisteminin büyük kısmı Linux üzerinde test edilir. WordPress gibi uygulamalar için Linux + Nginx/Apache genellikle daha sorunsuz ve ekonomiktir.
Her sunucu için ayrıntılı hizmet kapsamlarımız: Nginx web sunucusu ve reverse proxy, Apache HTTP Server ve Microsoft IIS ve Windows web hosting. PHP tarafı ayarları için PHP-FPM ve MariaDB rehberine bakabilirsiniz.
- Teknoloji
- Nginx, Apache HTTP Server, Microsoft IIS
- Konu
- Web sunucusu seçimi
- Seviye
- Orta
Web Sunucuları ve DevOps
- Nginx Web Sunucusu ve Reverse ProxyNginx ile reverse proxy, TLS, HTTP/2 ve HTTP/3 uygunluğu, server block, PHP-FPM, load balancing, rate limiting, güvenlik başlıkları,…
- Apache HTTP Server Kurulum ve OptimizasyonApache için VirtualHost, MPM event + PHP-FPM, mod_rewrite ve .htaccess kuralları, TLS, mod_proxy, güvenlik başlıkları, loglama ve performans…
- Microsoft IIS ve Windows Web HostingIIS üzerinde ASP.NET Core ve .NET uygulamaları: application pool, site bağlamaları, TLS, URL Rewrite, ARR reverse proxy, güvenlik,…