Linux tabanlı web sunucuları nelerdir?Nasıl Çalışır? Apache vs Nginx vs LiteSpeed

Rüveyha Rüzgar
6 min readJun 14, 2023

--

Web sunucusu yazılımımız, web sitemizin genel performans ve yükleme sürelerini etkileyebilir. Bu nedenle ihtiyaçlar için en iyi web sunucunu seçmek sitemizin başarısı için oldukça önemlidir. Fakat birçok seçenek olduğundan dolayı hangisini kuracağımız ve kullanacağımız hakkında kararsız kalabiliriz. Sundukları özellikleriyle birçok çeşide sahip olan web server programları hem güvenlik hem de performans açısından sitelerinizi internette yayınlayabilmenizi sağlar. Bu sunucu türleri arasında popüler olanlar Apache, Nginx, Litespeed ve Tomcat’dir. Web sitelerinin büyük bir çoğunluğu bu serverlar tarafından yönetilir. Özellikle Apache ve Nginx en iyi web server türleri arasında bulunur. İşe araştırıp hangisinin bizim için daha iyi olacağına karar vermekle başlayabiliriz.

Web Server Nedir?

Web serverları/sunucuları, World Wide Web üzerinden yapılan istemci isteklerine yanıt vermek için HTTP (Köprü Metni Aktarım Protokolü) ve diğer protokolleri kullanan yazılım ve donanımdır. Bir web sunucusunun ana işi, web sayfalarını kullanıcılara depolamak, işlemek ve sunmak yoluyla web sitesi içeriğini görüntülemektir. HTTP’nin yanı sıra, web sunucuları e-posta, dosya aktarımı ve depolama için kullanılan SMTP (Basit Posta Aktarım Protokolü) ve FTP’yi (Dosya Aktarım Protokolü) de destekler. Bu sunucular kuruldukları işletim sistemine göre farklılıklar gösterir.Bir web sunucusu diğer bağlı cihazlarla veri alışverişine izin verirken, web sunucusu yazılımı bir kullanıcının barındırılan dosyalara nasıl eriştiğini kontrol eder, donanımı ise internete bağlıdır.

Web Server Nasıl Çalışır?

Web sunucu yazılımlarına web sitelerinin alan adları üzerinden erişilir ve site içeriğinin talep eden kullanıcıya iletilmesi sağlanır. Google Chrome veya Firefox gibi bir web tarayıcısı, bir web sunucusunda barındırılan bir dosyaya ihtiyaç duyduğunda, tarayıcı dosyayı HTTP ile ister. İstek web sunucusu tarafından alındığında, HTTP sunucusu isteği kabul eder, içeriği bulur ve HTTP aracılığıyla tarayıcıya geri gönderir.

Yani açık ve adım adım anlatmak gerekirse, bir tarayıcı bir web sunucusundan bir sayfa istediğinde;

İlk olarak, bir kişi bir web tarayıcısının adres çubuğunda bir URL belirleyecektir. Web tarayıcısı daha sonra, URL’yi DNS (Alan Adı Sistemi) aracılığıyla çevirerek veya önbelleğinde arama yaparak alan adının IP adresini alacaktır . Bu işlem ile tarayıcıyı bir web sunucusuna getirecektir. Tarayıcı daha sonra belirli bir dosyayı web sunucusundan bir HTTP isteği ile isteyecek ve web sunucusu, tarayıcıya istenen sayfayı tekrar HTTP aracılığıyla göndererek yanıt verecektir. İstenen sayfa mevcut değilse ya da istediğimiz sonucu alamazsak, web sunucusu bir hata mesajı ile yanıt verecektir.

Web sunucu sistemleri bünyesinde PHP, C, ASP, Perl, .Net ve benzeri pek çok uygulama dili barındırır. Bu kodlar ile server üzerinden alacağımız istekler ile yazılımımızın çalışmasını sağlarız. Bu çalışmaların web server güvenliği ve interaktif içerikler hazırlama olanağı tanınır.

Nginx vs LiteSpeed vs Apache

Web sunucularının kullanımıyla ilgili bu son rapora göre bir karşılaştırma yapalım.

1. Apache

Üçünün en eskisi olduğu için Apache ile başlayalım. Apache güvenilir bir web sunucusudur ve 1995'ten beri kullanılmaktadır. Bir süredir en popüler olanıydı diyebiliriz. Bu, yazılımın süper kullanıcı dostu olmasıyla (NGINX’ten daha fazla) yardımcı oldu, bu nedenle onu kurmak için temel bir barındırma bilgisi yeterli olmalıdır. Apache’nin egemenliği sadece tesadüf değildir. Apache’nin tüm büyük Linux dağıtımlarına önceden kurulmuş olması, yazılımın dayanak noktasının çoğuna ulaştı. Bu, zaten kurulu olduğu için ayağa kalkmayı ve çalıştırmayı gerçekten kolaylaştırıyor. Ayrıca unutmayalım, internette kullandığımız birincil protokol — HTTP — Apache’nin Linux üzerinde çalıştığı sürecin adıyla eş anlamlıdır — HTTPD, yani HTTP Daemon.

2. NGINX

Engine X olarak telaffuz edilen NGINX, hız ve olaya dayalı ölçeklenebilirlik söz konusu olduğunda LiteSpeed’in en büyük rakibidir. NGINX, başlangıçta Apache’nin işlevini geliştirmek için oluşturuldu. Kullanıma hazır ve yalnızca statik dosyalar sunan Nginx, Apache’den çok daha az bellek tüketir ve teorik olarak saniyede dört kat daha fazla istek işleyebilir. O zamanlar ters bir proxy ve yük dengeleyiciydi. Temel olarak, web sunucularının istek ve talep yükünü dengelemesine yardımcı olan yazılım. Şimdi ise yazılım geliştikçe ve kod tabanı büyüdükçe kendi başına bir web sunucusuna dönüştürüldü ve dünya çapında en popüler seçimlerden biridir.

3. LiteSpeed

LiteSpeed, bu üç yarışmacının en yenisidir ve hızla en popüler seçeneklerden biri haline gelmektedir. LSWS olarak kısaltılan LiteSpeed, NGINX’te olduğu gibi, uzun süredir lider olan Apache’ye iyi baktılar ve hız ile özelleştirilebilirliğe öncelik verdiler. Bir Apache drop-in yedeği olarak tasarlanmıştır, yani Apache dosyalarını sorunsuz bir şekilde bırakmak, okumak ve değiştirmek için kodlanmıştır. Apache’nin .htaccess, mod_rewrite ve mod_security gibi birçok özelliğiyle uyumludur. Kolaylaştırılmış mimarisi ile LiteSpeed Web Sunucusu çalıştıran şirketler, daha önce Apache çalıştırdıklarını varsayarsak, sunucularındaki web sitelerinin maksimum kapasitesini (teorik olarak) iki katına çıkarabilir.

BAZI KIYASLAMALAR ZAMANI

Komut satırı tabanlı kıyaslama aracımız olarak ApacheBench uygulamasını kullanmayı seçen, güvenilir bir testin sonuçlarını sizinle paylaşıyor olacağım. İsterseniz bu sonuçları evinizde sunucularımızla çoğaltabilirsiniz. ApacheBench başlangıçta Apache Web Sunucularını kıyaslamak ve test etmek için oluşturulmuş olsa da, uygulama Nginx veya LiteSpeed gibi herhangi bir web sunucusunda test etmek için uygundur.

(Her sunucu, kendi web sunucusu teknolojisi dışında aynı şekilde yapılandırılmıştır. Aşağıda bunların konfigürasyonları verilmiştir)

ApacheBench Sonuçları:

Response Time (Miliseconds) / Tepki Süresi (Milisaniye) — Daha düşük daha iyidir.

Requests Per Second / Saniye Başına İstek — Daha yüksek daha iyidir.

Transfer Rate (KB/sec) / Aktarım Hızı — Daha yüksek daha iyidir

İşletim sistemi desteği

  • Apache, tüm Unix (CentOS, Redhat, Fedora vb.) işletim sistemlerini ve MS Windows’u destekler .
  • NGINX, tüm Unix sistemlerini destekler ve Windows için kısmi desteğe sahiptir.
  • LiteSpeed, CentOS 7+, Ubuntu 14.04+, Debian 8+, FreeBSD 9+ ve Linux kernel 3.0+’ı destekler.

Güvenlik

Her üç web sunucusu da, en yaygın saldırı vektörlerinden bazılarına karşı temel koruma sağlayan

  • Apache, güvenlik açısından harika bir geçmişe ve ortaya çıkabilecek güvenlik sorunlarını hızla çözen uyanık bir geliştirme topluluğuna sahiptir. Ayrıca, DDoS ve ayrıcalık yükseltme saldırılarına karşı koruma sağlamak için çeşitli yapılandırma parametreleri sağlar.
  • NGINX ayrıca tasarımı gereği oldukça güvenlidir ve NGINX dağıtımlarının nasıl güvence altına alınacağına dair kapsamlı belgelere sahiptir.
  • Son olarak, LiteSpeed güvenliği de ciddiye alır. DDoS’a karşı koruma sağlamak için reCAPTCHA desteği, WordPress kaba kuvvet saldırısı koruması ve çok sayıda başka özellik ile birlikte gelir.

Eklentiler

  • NGINX için geliştirici topluluğ tarafından sağlanan çok sayıda üçüncü taraf modüle sahiptir. Kullanılabilir özellikler, HTTP özet kimk doğrulamasından dinamik IP kilitlemeye kadar uzanır.
  • Apache ayrıca SQL bağlantı yönetimi, veri sıkıştırma, CGI komut dosyası yürütme vb. özellikler sağlayan üçüncü taraf modüllerine sahiptir.
  • LiteSpeed’de birkaç kontrol paneli ve Önbellek eklentisinin yanı sıra geliştiricilerin üçüncü taraf uygulamalarla entegrasyonunu kolaylaştıran bir API bulunur.

Web sitenizin başarısı söz konusu olduğunda, müşterileriniz ve kullanıcılarınız için sayfaların yüklenme hızı çok önemlidir. Sonuçlar kendilerini açıkça gösteriyor. Belirttiğimiz gibi, her web sunucusunun artıları ve eksileri vardır. Fakat ben bu araştırmalar sonucunda LiteSpeed Web Sunucusunun açık ve belirgin bir performans avantajına, kaynak dağıtımına ve güvenliğe sahip olduğuna karar verdim. Ancak sizin için durum böyle olmayabilir. Örneğin, yedeklenecek çok fazla bellek kaynağınız olabilir ve uygulamalarınız için Apache’nin süreç tabanlı mimarisini tercih edebilirsiniz.

Sonuç olarak, LiteSpeed çoğu departmandaki benzerlerinden daha iyi performans gösterse de, bu sizin için de ideal olduğu anlamına gelmez. Her sunucunun güçlü ve zayıf yönlerini anlamaya çalışın, kişiselleştirilmiş ihtiyaçlarınızı nasıl karşıladıklarını görün ve ardından bilinçli bir karar verin.

--

--