Ne, Nedir, Nasıl Yapılır?

Web sunucusu nedir? Apache, Nginx, IIS ve barındırma seçenekleri

Web sunucusu, tarayıcıdan gelen isteği karşılayıp sayfayı geri gönderen yazılımdır. Apache, Nginx ve IIS farkını ve barındırma seçeneklerini anlatıyoruz.

Web Server Nedir?
MenüBu sayfada

Web sunucusu, bir tarayıcıdan gelen isteği karşılayan ve karşılığında web sayfasını, görseli ya da veriyi geri gönderen yazılımdır. Aynı kelime, bu yazılımın çalıştığı makine için de kullanılır. Adres çubuğuna bir site adı yazdığınızda arka planda birkaç adım yaşanır: Alan adı bir IP adresine çözülür, tarayıcı o adresteki sunucuya bağlanır, web sunucusu isteği işler ve cevabı gönderir. Bu yazıda web sunucusunun nasıl çalıştığını, en yaygın üç yazılımı (Apache, Nginx, IIS), barındırma seçeneklerini ve temel güvenlik önlemlerini anlatıyoruz. Sitenin kendisini geliştirme tarafı için web tasarım ve yazılım sayfamıza bakabilirsiniz.

Web sunucusu nasıl çalışır?

Tarayıcı ile web sunucusu HTTP protokolüyle konuşur. Bugün neredeyse bütün siteler bu trafiği TLS ile şifreleyen HTTPS kullanır. Web sunucusunun işi iki türlü olabilir:

  • Statik içerik sunmak: Diskte hazır duran HTML dosyalarını, görselleri, stil ve betik dosyalarını olduğu gibi göndermek.
  • Dinamik içerik üretmek: İsteği PHP, .NET, Node.js ya da Python gibi bir uygulamaya iletmek; uygulama veritabanından veriyi okuyup sayfayı o an oluşturur, web sunucusu da sonucu tarayıcıya gönderir.

Kurumsal bir sitenin iletişim formu, bir e-ticaret sitesinin sepeti ya da bayilerinizin sipariş girdiği bir portal ikinci türdendir. Bu durumda web sunucusunun arkasında bir uygulama ve bir veritabanı da çalışır; güvenlik ve performans üçünün birlikte düşünülmesini gerektirir.

Apache, Nginx ve IIS

Web sunucusu yazılımları arasında en yaygın üç isim şunlardır:

Apache HTTP Server

Apache Yazılım Vakfı’nın açık kaynak web sunucusudur. Modüler yapısıyla bilinir; URL yönlendirme, SSL ve önbellek gibi özellikler modüllerle eklenir. Klasör bazında ayar yapmayı sağlayan .htaccess dosyaları, paylaşımlı hosting ortamlarında yaygın kullanılmasının nedenlerinden biridir.

Nginx

Açık kaynak bir web sunucusudur; yüksek sayıda eş zamanlı bağlantıyı az kaynakla karşılayabilmesiyle öne çıkar. Web sunucusu olarak kullanıldığı gibi, çoğu zaman uygulama sunucularının önünde ters vekil sunucu (reverse proxy) ve yük dengeleyici olarak da çalışır. Sık görülen bir yapı, Nginx’in önde statik dosyaları sunması ve dinamik istekleri arkadaki uygulamaya iletmesidir.

Microsoft IIS

Internet Information Services, Windows Server ile birlikte gelen web sunucusu rolüdür. ASP.NET uygulamaları için doğal ortamdır ve grafik yönetim konsoluyla yönetilir. Windows ağırlıklı yapılarda, şirket içi portallar ve .NET ile geliştirilmiş iş uygulamaları için sık tercih edilir.

ApacheNginxIIS
İşletim sistemiLinux ağırlıklı, Windows’ta da çalışırLinux ağırlıklı, Windows’ta da çalışırWindows Server
LisansAçık kaynakAçık kaynak (ticari sürümü de var)Windows Server lisansına dahil
Öne çıkan kullanımPHP siteleri, paylaşımlı hostingYoğun trafik, ters vekil sunucu, yük dengelemeASP.NET uygulamaları, şirket içi portallar

Hangisinin seçileceği çoğu zaman sitenin hangi teknolojiyle yazıldığına bağlıdır. Bir PHP sitesini IIS’te, bir .NET uygulamasını Linux’ta çalıştırmak mümkündür; ama doğal ortamında çalışan bir yazılımın bakımı daha kolaydır.

Barındırma seçenekleri

Web sunucusunun nerede duracağı, sitenin büyüklüğüne ve kontrol ihtiyacınıza göre değişir.

SeçenekNe demek?Kimler için?
Paylaşımlı hostingBir sunucu birçok site arasında paylaşılır; yönetim sağlayıcıdadırAz trafikli tanıtım siteleri
Bulut sunucuSize ayrılmış bir sanal sunucu; kaynaklar ihtiyaçla artırılabilirKurumsal siteler, e-ticaret, özel yazılımlar
Sunucu barındırma (colocation)Kendi fiziksel sunucunuz veri merkezinde dururÖzel donanım ya da lisans gereksinimi olanlar
Ofisteki sunucuWeb sunucusu şirket binasında çalışırYalnızca şirket içi kullanılan uygulamalar

Dışarıya açık bir siteyi ofisteki sunucudan yayınlamak genellikle önerilmez. Ofis internetinin kesilmesi siteyi de durdurur; daha önemlisi, internete açık bir sunucu ofis ağının içinde durursa, ele geçirildiğinde saldırgana iç ağa uzanan bir yol verir. Veri merkezinde barındırma ve bulut sunucu seçeneklerini veri merkezi çözümleri sayfamızda anlattık.

Web sunucusu güvenliği

İnternete açık her sunucu, açıldığı andan itibaren otomatik taramalarla karşılaşır. Temel önlemler şunlardır:

  • Güncel tutun. Web sunucusu yazılımı, işletim sistemi, PHP ya da .NET sürümü ve içerik yönetim sistemi eklentileri düzenli güncellenmelidir. Açıkların büyük kısmı, yaması çıkmış ama uygulanmamış yazılımlardan kaynaklanır.
  • Yalnızca HTTPS kullanın. Geçerli bir SSL/TLS sertifikası kurun, HTTP isteklerini HTTPS’e yönlendirin ve eski, güvensiz protokol sürümlerini kapatın.
  • Gereksizi kapatın. Kullanılmayan modülleri, örnek sayfaları ve dizin listelemeyi devre dışı bırakın. Sunucu sürüm bilgisini hata sayfalarında göstermeyin.
  • Yönetim erişimini sınırlayın. Sunucuya SSH ya da uzak masaüstü erişimi herkese açık olmamalı; yalnızca belirli IP adreslerinden ya da VPN üzerinden yapılmalıdır. Yönetim panelleri güçlü şifre ve iki aşamalı doğrulamayla korunmalıdır.
  • Uygulama ile veritabanını ayırın. Veritabanı internete açık olmamalı, uygulama veritabanına en az yetkili bir kullanıcıyla bağlanmalıdır.
  • Kayıtları tutun ve izleyin. Erişim ve hata kayıtları, bir saldırı girişimini ya da bozulan bir sayfayı erken gösterir.
  • Yedek alın. Hem site dosyalarının hem veritabanının yedeği, sunucudan ayrı bir yerde durmalıdır.

Şirket içi ağınızı ve internete açılan servislerinizi koruyan güvenlik duvarı tarafı için ağ güvenliği sayfamıza göz atabilirsiniz.

Performans için pratik adımlar

Yavaş açılan bir site, ziyaretçiyi ilk saniyelerde kaybeder. Sunucu tarafında sık işe yarayan adımlar şunlardır: Metin dosyalarını sıkıştırarak göndermek, statik dosyalar için tarayıcı önbelleğini açmak, HTTP/2 desteğini etkinleştirmek, dinamik sayfalarda uygulama önbelleği kullanmak ve görselleri doğru boyutta sunmak. Sunucunun kaynakları da izlenmelidir; bellek ya da disk sınırına dayanan bir sunucuda yazılım ayarlarıyla kazanılacak hız sınırlıdır.

Unna ile web barındırma

Web siteleri ve iş uygulamaları için sunucu tarafını, yazılım tarafıyla birlikte ele alıyoruz:

  1. Önce dinleriz. Sitenizin ya da uygulamanızın hangi teknolojiyle çalıştığını, trafiğini ve kimlerin kullandığını öğreniriz.
  2. Birlikte planlarız. Paylaşımlı hosting mi, bulut sunucu mu, barındırma mı sorusunu maliyet ve kontrol dengesiyle cevaplarız.
  3. Kurar ve yayına alırız. Web sunucusunu güvenlik ayarlarıyla kurar, alan adı, SSL sertifikası ve yedeklemeyi devreye alırız.
  4. Yanınızda kalırız. Güncellemeleri uygular, sunucuyu izler, siteniz büyüdükçe kaynakları birlikte planlarız.

Sunucunun günlük yönetimi için sunucu kurulum ve yönetimi hizmetimize bakabilir ya da mevcut sitenizin barındırma yapısını değerlendirmek için bize ulaşabilirsiniz.

03 / UNNA

İşiniz için bir sonraki adım.

İhtiyacınızı konuşalım. Birlikte planlayalım.

Ekibimizle görüşün

Sitenin güvenli çalışması için zorunlu çerezler kullanıyoruz. Google Haritalar gibi harici içerikler yalnızca izninizle yüklenir.

Bu sitede şu anda analitik veya reklam çerezi kullanılmıyor.