Seçimi uygulamanızın teknolojisi belirler. ASP.NET Framework, Classic ASP veya MSSQL kullanan projeler Windows hosting gerektirir. PHP, WordPress, Laravel ve MySQL kullanan projeler için Linux hosting daha yaygın, uyumlu ve genellikle daha ekonomiktir. ASP.NET Core ile geliştirilen .NET uygulamaları Linux'ta da çalışabildiği için yeni .NET projelerinde her iki seçenek de değerlendirilebilir.
Bu yazıda hangi teknolojinin hangi platformu gerektirdiğini tablo halinde veriyor, panel, performans ve maliyet farklarını açıklıyoruz. .NET projeleri için ASP.NET destekli hosting, PHP ve WordPress projeleri için Linux web hosting seçeneklerini karşılaştırırken bu tabloyu kullanabilirsiniz.
Kısa cevap: Uygulamanızın dili belirler
Hosting türünü işletim sistemi tercihi değil, uygulamanın yazıldığı dil ve kullandığı veritabanı belirler. Yanlış platformda uygulama ya hiç çalışmaz ya da ciddi uyarlama gerektirir.
Windows hosting, sunucuda Windows Server ve Microsoft'un web sunucusu IIS (Internet Information Services) çalıştırır. Linux hosting ise Linux üzerinde Apache, Nginx veya LiteSpeed gibi bir web sunucusu kullanır. Web sunucusu, gelen HTTP isteklerini karşılayıp uygulamanıza ileten yazılımdır. İki platform da HTML, CSS ve JavaScript'ten oluşan statik siteleri sorunsuz sunar; fark, sunucu tarafında çalışan kodda ortaya çıkar.
Karşılaştırma tablosu
İlk tablo teknolojiye göre uygun hosting türünü, ikinci tablo iki platformun genel farklarını gösterir.
| Uygulama teknolojisi | Uygun hosting | Not |
|---|---|---|
| WordPress, WooCommerce | Linux | WordPress, Apache veya Nginx'i önerilen sunucular olarak listeler |
| Laravel, diğer PHP uygulamaları | Linux | .htaccess tabanlı yönlendirmeler doğrudan çalışır |
| ASP.NET Web Forms, ASP.NET MVC 5 (.NET Framework 4.x) | Windows | .NET Framework yalnızca Windows'ta çalışır |
| Classic ASP | Windows | IIS gerektirir |
| ASP.NET Core (.NET Core, .NET 5 ve sonrası) | Windows veya Linux | Linux'ta genellikle VPS veya VDS üzerinde çalıştırılır |
| MSSQL veritabanı | Windows | SQL Server Linux'ta da çalışır, ancak paylaşımlı Linux hostingte genellikle sunulmaz |
| MySQL / MariaDB | Linux (Windows'ta da çalışabilir) | Linux hostingin standart veritabanıdır |
| Statik HTML sitesi | İkisi de | Maliyet ve panel tercihi belirler |
| Özellik | Windows hosting | Linux hosting |
|---|---|---|
| Web sunucusu | IIS | Apache, Nginx, LiteSpeed |
| Yapılandırma dosyası | web.config | .htaccess (Apache ve LiteSpeed) |
| Kontrol paneli | Genellikle Plesk | Genellikle cPanel veya Plesk |
| Varsayılan veritabanı | MSSQL | MySQL veya MariaDB |
| Dosya adları | Büyük/küçük harfe duyarsız | Büyük/küçük harfe duyarlı |
| İşletim sistemi lisansı | Windows Server lisansı fiyata yansır | Lisans ücreti yok |
Windows hosting ne zaman gerekir?
Uygulamanız yalnızca Windows'ta bulunan bir bileşene bağlıysa Windows hosting zorunludur. Bu bileşenler çoğunlukla .NET Framework, IIS ve MSSQL'dir.
ASP.NET Framework ve Web Forms
.NET Framework 4.x ile yazılmış ASP.NET Web Forms, ASP.NET MVC 5 ve Web API 2 projeleri Windows'a bağlıdır. Microsoft'un belgelerine göre .NET Framework bir Windows bileşenidir ve ASP.NET Web Forms yalnızca .NET Framework'te bulunur; ASP.NET Core ile çalıştırılamaz. Bu teknolojilerle geliştirilmiş ve hâlâ kullanılan uygulamalar için Windows hosting ihtiyacı sürüyor.
Bu projeleri Linux'a taşımanın tek yolu, uygulamayı ASP.NET Core'a yeniden yazmak veya dönüştürmektir. Kısa vadede bu genellikle mantıklı değildir; Windows hostingte çalıştırmaya devam etmek daha düşük risklidir.
Classic ASP
Classic ASP (Active Server Pages), 1990'ların sonu ve 2000'lerde yaygın olan, çoğunlukla VBScript ile yazılan sayfa teknolojisidir. Yalnızca IIS üzerinde, sunucuda ASP özelliği etkinleştirildiğinde çalışır. Bir Windows hosting paketinin Classic ASP desteği sağlayıp sağlamadığı sağlayıcıdan sağlayıcıya değişir; eski bir ASP sitesini taşımadan önce paket sayfasından veya destek ekibinden bu desteği teyit edin.
MSSQL bağımlılığı
Uygulamanız Microsoft SQL Server'a (MSSQL) bağlıysa; saklı yordamlar (stored procedure), T-SQL'e özgü sorgular veya SQL Server'ın yedek formatı (.bak) kullanılıyorsa Windows hosting doğal tercihtir. SQL Server 2017'den beri Linux'ta da çalışabiliyor, ancak paylaşımlı Linux hosting paketleri genellikle yalnızca MySQL veya MariaDB sunar.
Uygulamanızın beklediği SQL Server sürümü ile hosting paketindeki sürümün uyumlu olması gerekir. Özellikle daha yeni bir SQL Server sürümünden alınmış .bak yedeği, daha eski bir sürüme geri yüklenemez. Paketteki MSSQL sürümünü satın almadan önce paket sayfasından veya destek ekibinden kontrol edin.
Linux hosting ne zaman doğru seçimdir?
PHP ile yazılmış uygulamalar ve MySQL/MariaDB kullanan projeler için Linux hosting doğru seçimdir. Bu ekosistemin yazılımları, eklentileri ve belgeleri öncelikle Linux ortamı düşünülerek hazırlanır.
PHP, WordPress, Laravel
WordPress'in resmi gereksinim sayfası PHP 8.3 veya üzerini, MySQL 8.0 veya MariaDB 10.11 ya da üzerini ve HTTPS desteğini önerir; web sunucusu olarak da Apache veya Nginx'i en sağlam seçenekler olarak gösterir. WordPress eklentilerinin önemli bir kısmı yönlendirme, önbellek ve güvenlik kurallarını .htaccess dosyasına yazar. Bu dosya Apache ve LiteSpeed'de doğrudan çalışır, IIS'te ise karşılığı web.config içinde yeniden yazılmalıdır.
Laravel, Symfony, OpenCart, PrestaShop gibi PHP uygulamaları da Composer, cron ve Linux dosya izinleriyle çalışmak üzere tasarlanmıştır. Bulutzone'un Linux web hosting paketleri CloudLinux, cPanel, LiteSpeed ve NVMe disk kullanır; günlük yedek ve Let's Encrypt SSL ücretsizdir. WordPress'e özel ayarlarla bir paket arıyorsanız WordPress hosting seçeneği de bulunur.
MySQL / MariaDB
MySQL ve onun topluluk çatallaması MariaDB, Linux hostingin standart veritabanlarıdır ve cPanel'de phpMyAdmin ile yönetilir. PHP uygulamalarının neredeyse tamamı bu iki veritabanıyla test edilir. MSSQL'e özgü bir özellik kullanmıyorsanız, yeni bir PHP projesi için Windows ve MSSQL seçmenin pratik bir getirisi yoktur.
ASP.NET Core (.NET 8 ve sonrası) Linux'ta çalışır mı?
Evet. .NET (eski adıyla .NET Core) çapraz platformdur ve ASP.NET Core uygulamaları Windows, Linux ve macOS üzerinde çalışır. "Windows hosting .NET için zorunludur" varsayımı yalnızca .NET Framework uygulamaları için geçerlidir.
Microsoft'un belgeleri, ASP.NET Core uygulamasını Linux'ta Kestrel web sunucusuyla çalıştırıp önüne Nginx'i ters vekil sunucu (reverse proxy) olarak koymayı Ubuntu, Red Hat Enterprise Linux ve SUSE için anlatır. Ters vekil sunucu, dışarıdan gelen istekleri karşılayıp arka taraftaki uygulamaya ileten, SSL ve statik dosyaları da üstlenebilen katmandır. Uygulama bir systemd servisi olarak sürekli çalışır.
Pratikteki ayrım şudur: cPanel tabanlı paylaşımlı Linux hosting, sürekli çalışan bir .NET sürecini barındırmak için tasarlanmamıştır. ASP.NET Core'u Linux'ta çalıştırmak istiyorsanız genellikle root erişimli bir VPS veya VDS gerekir; dağıtım seçimi ve temel yönetim için Linux sunucu nedir rehberimize bakabilirsiniz. Paylaşımlı hosting istiyorsanız IIS ve ASP.NET Core Module üzerinden çalışan Windows hosting daha kolay yoldur.
Sürüm konusunda da dikkatli olun. Microsoft'un destek politikasında .NET 8 (LTS) ve .NET 9 (STS) için destek bitiş tarihi 10 Kasım 2026 olarak belirlenmiştir; .NET 10 LTS sürümü ise 14 Kasım 2028'e kadar desteklenir. LTS sürümler 36 ay, STS sürümler 24 ay destek alır. Hosting paketinde hangi .NET sürümlerinin kurulu olduğunu paket sayfasından veya destek ekibinden kontrol edin.
Panel farkı: Plesk ve cPanel
cPanel yalnızca Linux'ta çalışır; Plesk ise hem Windows hem Linux sürümüne sahiptir. Bu nedenle Windows hosting paketlerinde panel genellikle Plesk'tir.
cPanel & WHM'in belgelerinde desteklenen işletim sistemleri AlmaLinux, CloudLinux, Rocky Linux ve Ubuntu olarak listelenir; Windows bu listede yoktur. Plesk'in Windows sürümü ise ASP.NET 2.0 ve 4.x ile ASP.NET Core 2.1 ve sonrasını destekler; ASP.NET Core uygulamaları için sunucuda "Microsoft ASP.NET Core" bileşeninin kurulu olması gerekir.
Günlük işler açısından iki panel benzerdir: dosya yöneticisi, veritabanı oluşturma, e-posta hesapları, SSL sertifikası ve DNS kayıtları her ikisinde de bulunur. Fark, menü düzeninde ve platforma özgü ayarlardadır. Plesk for Windows'ta ASP.NET ayarları, cPanel'de ise PHP sürümü seçimi ve CloudLinux kaynak kullanım ekranları öne çıkar. Bulutzone'da Windows hosting Plesk ile, Linux hosting cPanel ile sunuluyor.
Performans ve maliyet
Performansı işletim sisteminden çok uygulamanın kendisi, paketteki kaynaklar ve önbellek yapılandırması belirler. Maliyet tarafında ise Windows Server lisansı Windows hostingi genellikle daha pahalı hale getirir.
Aynı uygulamayı iki platformda karşılaştırmak çoğu zaman mümkün değildir, çünkü PHP uygulaması Linux'a, .NET Framework uygulaması Windows'a göre yazılmıştır. Anlamlı karşılaştırma, paketteki kaynaklar üzerinden yapılır. Örneğin Bulutzone'un Windows hosting paketleri Windows Server 2022 üzerinde 2 çekirdek ve 4 GB RAM ile sunulurken, Linux Basic paketi 1 çekirdek ve 1 GB RAM içerir. Paket seçerken uygulamanızın ihtiyacını bu değerlerle karşılaştırın; uygulama havuzu başına bellek tüketimi yüksek .NET uygulamaları daha fazla RAM isteyebilir.
Bir performans notu: ASP.NET Core'un IIS üzerindeki varsayılan in-process modeli, uygulamayı IIS çalışan sürecinin içinde çalıştırır ve Microsoft'un belgelerine göre out-of-process modele kıyasla daha yüksek istek kapasitesi sunar.
Yanlış seçim yaptıysanız: taşıma
Yanlış platformu seçtiyseniz taşıma mümkündür, ancak zorluk uygulamanın türüne göre değişir. En kolay durum ASP.NET Core, en zor durum MSSQL'e bağlı bir PHP veya .NET Framework projesidir.
- Windows'tan Linux'a PHP sitesi:
web.configiçindeki yönlendirme kuralları.htaccess'e çevrilmelidir. Linux büyük/küçük harfe duyarlı olduğu içinLogo.pngilelogo.pngfarklı dosyalardır; kodda ve veritabanındaki yollarda bu uyumsuzluklar kırık görsellere yol açar. - Linux'tan Windows'a PHP sitesi:
.htaccesskuralları IIS URL Rewrite formatına dönüştürülmeli, PHP eklentilerinin Windows sürümleri kontrol edilmelidir. - ASP.NET Core uygulaması: Uygulama hedef platform için yeniden yayınlanır (örneğin
linux-x64veyawin-x64). Kod değişikliği genellikle gerekmez; dosya yolları ve büyük/küçük harf kullanımı kontrol edilir. - MSSQL'den MySQL'e: Veri tipleri, saklı yordamlar ve T-SQL'e özgü sorgular farklı olduğu için bu bir taşıma değil, veritabanı katmanının yeniden yazılmasıdır.
Taşıma öncesinde tam yedek alın, yeni ortamı hosts dosyasıyla test edin ve DNS değişikliğini ancak testler tamamlandıktan sonra yapın.
Sık sorulan sorular
WordPress Windows hostingte çalışır mı?
Sunucuda PHP ve MySQL veya MariaDB varsa teknik olarak çalışabilir. Ancak eklentilerin yazdığı .htaccess kuralları IIS'te çalışmaz ve elle web.config'e çevrilmesi gerekir. WordPress'in kendisi de Apache veya Nginx'i önerdiği için Linux hosting daha az sorunlu yoldur.
.NET Core Linux'ta çalışır mı?
Evet, .NET Core ve .NET 5 sonrası sürümler Linux'ta çalışır. Ancak paylaşımlı Linux hosting genellikle sürekli çalışan .NET süreçlerine uygun değildir; Linux'ta çalıştırmak için VPS veya VDS gerekir. .NET Framework ile yazılmış uygulamalar ise Linux'ta çalışmaz.
Hangisi daha ucuz?
Aynı kaynak seviyesinde Linux hosting genellikle daha ekonomiktir, çünkü işletim sistemi için lisans ücreti ödenmez. Yine de karar fiyattan önce uyumluluğa göre verilmelidir; uygulamanızın çalışmadığı ucuz bir paket, taşıma maliyetiyle daha pahalıya gelir.
Linux hostingte MSSQL kullanabilir miyim?
Paylaşımlı Linux hosting paketleri genellikle yalnızca MySQL veya MariaDB içerir. MSSQL gerekiyorsa Windows hosting ya da SQL Server'ı kendiniz kurabileceğiniz bir sunucu gerekir.
Teknolojinize uygun paketi seçin: .NET ve MSSQL projeleri için Windows hosting paketlerini, PHP ve WordPress projeleri için Linux hosting paketlerini inceleyebilirsiniz.
Kaynaklar
- Choose between .NET and .NET Framework for server apps – Microsoft Learn
- Host ASP.NET Core on Linux with Nginx – Microsoft Learn
- Host ASP.NET Core on Windows with IIS – Microsoft Learn
- .NET and .NET Core Support Policy – Microsoft
- What is SQL Server on Linux? – Microsoft Learn
- WordPress Requirements – WordPress.org
- cPanel & WHM Installation Guide – System Requirements
- (Plesk for Windows) Configuring ASP.NET – Plesk Obsidian documentation