Narhost

.NET Core Hosting İçin Windows mu Linux mu Seçilmeli

.NET Core Hosting İçin Windows mu Linux mu Seçilmeli — Narhost Hosting rehberi kapak görseli

İçindekiler

Kısaca özet

  • Net core hosting seçiminde kısa cevap: modern .NET (eski adıyla .NET Core) hem Windows’ta hem Linux’ta çalışır; platformu uygulama değil, bağımlılıklar belirler.
  • Uygulamanız eski .NET Framework (4.x) ile yazıldıysa, MSSQL’e bağlıysa ya da Windows’a özgü bir bileşen kullanıyorsa Windows hosting doğru seçimdir; .NET Framework yalnızca Windows’ta çalışır.
  • Windows hostingte uygulama IIS üzerinde yayınlanır ve Plesk panelinden yönetilir; sunucu bakımı sağlayıcıdadır, sürüm ve yapılandırma seçenekleri paketin sunduğuyla sınırlıdır.
  • Linux VPS’te uygulama Kestrel sunucusunda çalışır, önüne Nginx ters vekil sunucu konur ve systemd ile hizmet olarak yönetilir; sürüm serbestliği tamdır, bakım sizdedir.
  • .NET 8 ve .NET 9’un desteği 10 Kasım 2026’da bitiyor; .NET 10 uzun süreli destek (LTS) sürümü olarak 14 Kasım 2028’e kadar yama alıyor. Hosting seçmeden önce hedef sürümün desteklendiğini doğrulayın.
  • Veritabanı kararı platform kararını çoğu zaman önceden verir: MSSQL’e bağlı bir proje için Windows hosting en az sürtünmeli yoldur, PostgreSQL ya da MySQL kullanan proje Linux’ta rahat çalışır.

ASP.NET Core ile bir proje geliştirdiniz, yayına alma zamanı geldi ve iki öneri arasında kaldınız: biri “Windows hosting al, Plesk’ten yüklersin” diyor, diğeri “Linux VPS daha esnek” diyor. İkisi de haklı olabilir. Net core hosting kararını belirleyen şey .NET’in kendisi değil, projenizin neye bağımlı olduğu ve sunucuyla kimin ilgileneceğidir. Aşağıda iki yolu, hangi durumda hangisinin mantıklı olduğunu ve yayına almadan önce kontrol etmeniz gereken sürüm meselesini bulacaksınız.

Net Core Hosting İçin Önce Bilinmesi Gereken, .NET Çapraz Platformdur

Microsoft’un .NET giriş belgesi iki uygulamayı açıkça ayırır. Modern .NET (eskiden .NET Core deniyordu) çapraz platformdur ve açık kaynaktır; Windows, Linux ve macOS’ta çalışır. .NET Framework ise ilk .NET’tir, Windows ve Windows Server’ın yeteneklerine erişim sağlar ve bakım aşamasındadır. Yani .NET 8, 9 ya da 10 ile yazılmış bir ASP.NET Core uygulaması Linux’ta da çalışabilir; .NET Framework 4.x ile yazılmış bir ASP.NET MVC ya da Web Forms uygulaması ise yalnızca Windows’ta çalışır.

İlk adım projenizin hedef çerçevesine bakmaktır. Proje dosyasında hedef olarak net8.0, net9.0 ya da net10.0 yazıyorsa modern .NET’tir ve iki platform da açıktır. Hedef net48 gibi bir Framework sürümüyse karar zaten verilmiştir. .NET’in iki kuşağının nasıl çalıştığını ASP ve .NET Core nasıl çalışır yazısında daha ayrıntılı bulabilirsiniz.

Windows Hosting, Plesk ve IIS ile Yayın

Windows hostingte uygulamanız IIS üzerinde çalışır. ASP.NET Core uygulamaları IIS’e ASP.NET Core Modülü aracılığıyla bağlanır; modül, uygulamayı IIS işçi süreci içinde (in-process) ya da ayrı bir süreç olarak çalıştırır ve süreç yönetimini IIS üstlenir. Siz uygulamayı Visual Studio’dan ya da komut satırından yayın (publish) klasörüne derler, dosyaları Plesk’in dosya yöneticisi ya da FTP ile yüklersiniz. Adımlar .NET Core projesini IIS’te yayınlama kartında sırasıyla anlatılıyor.

Bu modelin avantajı yönetim yükünün olmamasıdır. İşletim sistemi güncellemesi, IIS yapılandırması, .NET çalışma ortamının sunucuya kurulması ve güvenlik sağlayıcının işidir. Sınırı da aynı yerden gelir: sunucuda kurulu olan .NET sürümlerini ve paketin güven düzeyini (trust level) kullanırsınız, sunucuya kendi yazılımınızı kuramazsınız. Windows hostingin genel çerçevesi Windows hosting nedir yazısında duruyor.

Bilgi

Windows hostingte klasik ASP, ASP.NET Framework uygulamaları ve modern ASP.NET Core uygulamaları aynı panelde yan yana barındırılabilir. Şirket içinde eski bir Framework uygulaması ile yeni bir .NET projesini birlikte yayında tutması gereken ekipler için bu tek başına bir seçim nedenidir.

Linux VPS, Kestrel ve Nginx ile Yayın

Linux’ta ASP.NET Core uygulaması kendi içindeki Kestrel web sunucusuyla çalışır. Microsoft’un Linux’ta Nginx ile barındırma rehberi Kestrel’in dinamik içerik için çok iyi olduğunu, ancak statik dosya sunma, önbellekleme, sıkıştırma ve HTTPS sonlandırma gibi işleri bir ters vekil sunucuya bırakmanın doğru olduğunu anlatır. Tipik düzen şöyledir: Nginx 80 ve 443 portlarını dinler, istekleri yerel porttaki Kestrel’e iletir; uygulama systemd hizmeti olarak tanımlanır, sunucu açılınca başlar ve çökerse yeniden başlatılır.

Aynı rehber önemli bir ayrıntıya dikkat çeker: istekler ters vekil üzerinden geldiği için uygulamada iletilen başlıklar ara katmanı (forwarded headers) etkinleştirilmelidir; aksi hâlde uygulama isteğin HTTPS ile geldiğini anlamaz ve yönlendirmeler bozulur. Bu yol tam serbestlik verir: istediğiniz .NET sürümünü kurar, önizleme sürümlerini dener, arka plan hizmetlerini ve Redis gibi ek bileşenleri aynı sunucuda çalıştırırsınız. Karşılığında işletim sistemi, .NET çalışma ortamı, Nginx ve güvenlik güncellemeleri sizin işinizdir.

Ölçüt Windows hosting (Plesk + IIS) Linux VPS (Kestrel + Nginx)
.NET Framework 4.x Çalışır Çalışmaz
Modern .NET (8, 9, 10) Sunucuda kurulu sürümlerle İstediğiniz sürüm
MSSQL Pakette hazır Ayrı kurulum ve lisans kararı gerekir
Sunucu bakımı Sağlayıcıda Sizde (root)
Arka plan hizmeti, özel yazılım Paket sınırları içinde Serbest
Yönetim Plesk paneli SSH ve komut satırı
net core hosting kararını hedef çerçeve, veritabanı bağımlılığı, Windows IIS ve Linux Kestrel Nginx yollarıyla gösteren şema
Hedef çerçeveden veritabanı bağımlılığına, oradan IIS ya da Kestrel ve Nginx yoluna giden .NET platform kararı.

MSSQL Bağımlılığı Kararı Nasıl Değiştirir

.NET projelerinin önemli bir kısmı Microsoft SQL Server ile birlikte gelir. Entity Framework Core birden çok veritabanını desteklese de mevcut bir projede saklı yordamlar, SQL Server’a özgü sorgu sözdizimi ya da hazır bir veritabanı yedeği varsa veritabanını değiştirmek ayrı bir projedir. Böyle bir durumda Windows hosting en az sürtünmeli yoldur: veritabanı pakette hazırdır, Plesk’ten oluşturulur, uzaktan erişimle SQL Server Management Studio’dan yönetilir.

SQL Server’ın Linux sürümü de vardır, dolayısıyla Linux VPS’e kurmak teknik olarak mümkündür. Ancak bu durumda lisans sürümü, bellek ayrımı ve yedekleme sizin kararınız olur. Projeniz PostgreSQL ya da MySQL kullanıyorsa ya da henüz veritabanı seçmediyseniz Linux tarafı hiçbir ek maliyet çıkarmaz ve net core hosting kararı platformdan çok yönetim tercihine döner.

Örnek senaryo

Bir yazılım firması, müşterisi için ASP.NET Core ile bir bayi sipariş portalı geliştirdi. Portal müşterinin mevcut MSSQL veritabanındaki stok ve cari hesap tablolarını okuyordu ve sistemde saklı yordamlar vardı. Linux VPS önerisi masaya geldiğinde veritabanını taşımanın iki haftalık iş olduğu hesaplandı. Firma portalı Windows hostingte yayına aldı, veritabanını Plesk’ten oluşturup yedeği geri yükledi ve ilk gün canlıya çıktı. Aynı firmanın PostgreSQL kullanan ikinci projesi ise Linux VPS’te çalışıyor.

Sürüm Desteği, .NET 8, 9 ve 10

.NET her kasımda yeni bir ana sürüm çıkarır. Microsoft’un .NET destek politikasına göre çift numaralı sürümler üç yıl destek alan LTS, tek numaralılar iki yıl destek alan STS sürümleridir. Güncel tabloda .NET 8 ve .NET 9’un desteği 10 Kasım 2026’da sona eriyor; .NET 10 ise 14 Kasım 2028’e kadar destekleniyor. Desteği biten sürüm güvenlik yaması almaz.

Hosting açısından bunun iki sonucu var. Birincisi, projenizi .NET 10’a taşımayı bu yılın gündemine alın. İkincisi, seçtiğiniz ortamın hedef sürümü çalıştırdığını doğrulayın. Linux VPS’te sürümü siz kurarsınız, sorun çıkmaz. Paylaşımlı Windows hostingte ise sunucuda kurulu çalışma ortamlarına bağlısınız; ürün sayfasında listelenen .NET sürümünü kontrol edin, hedeflediğiniz sürüm listede yoksa sipariş öncesinde destek ekibine sorun.

Dikkat

Yerel bilgisayarınızda derlenen proje sunucuda “500.31” ya da benzeri bir çalışma ortamı hatası veriyorsa, sunucuda projenin hedeflediği .NET sürümü yok demektir. Paylaşımlı ortamda bu hatayı sunucuya yeni sürüm kurarak çözemezsiniz; ya projeyi desteklenen sürüme hedeflersiniz ya da sağlayıcıdan bilgi istersiniz.

Net Core Hosting Kararı, Hangisi Kimin İçin

Windows hosting; .NET Framework uygulaması olanlar, MSSQL’e bağlı projeler, sunucu yönetmek istemeyen küçük ekipler ve birden çok eski ile yeni .NET sitesini tek panelde toplamak isteyen ajanslar için doğru seçimdir. Linux VPS ise modern .NET ile yazılmış, PostgreSQL ya da MySQL kullanan, arka plan hizmetleri ve özel bileşenleri olan, ekibinde Linux bilen biri bulunan projeler için daha esnektir. Genel hosting seçim ölçütlerini hosting nasıl seçilir rehberinde bulabilirsiniz.

Narhost Windows hosting paketleri Windows Server 2022 üzerinde, Plesk Obsidian paneliyle gelir. Ürün sayfasında ASP.NET 2.0–4.8, .NET Core 9.X, klasik ASP, ASP.NET MVC 5, IIS URL Rewrite ve MSSQL Server 2022 desteği listeleniyor; MSSQL ve MySQL uzaktan erişimi açıktır. Paket ayrıntıları Windows hosting sayfasında.

Sonuç

Modern .NET iki platformda da çalışır; kararı bağımlılıklar verir. .NET Framework, MSSQL ve yönetim yükü istememek sizi Windows hostinge götürür. Sürüm serbestliği, arka plan hizmetleri ve Linux bilgisi sizi VPS’e götürür. Hangisini seçerseniz seçin, hedef sürümün ortamda desteklendiğini yayından önce doğrulayın.

Kontrol Listesi, Platformu Seçmeden Önce

  • Proje dosyasındaki hedef çerçeveye bakın: net48 mi, net8.0 ve üzeri mi.
  • Veritabanını belirleyin: MSSQL’e bağımlılık var mı, saklı yordam kullanılıyor mu.
  • Windows’a özgü bir kütüphane ya da bileşen kullanıp kullanmadığınızı kontrol edin.
  • Hedef .NET sürümünün seçtiğiniz ortamda desteklendiğini doğrulayın.
  • .NET 8 ya da 9 kullanıyorsanız .NET 10’a geçiş planı yapın.
  • Sunucu bakımını kimin yapacağına karar verin.
  • Arka plan hizmeti, zamanlanmış görev ya da özel yazılım ihtiyacınızı listeleyin.

Sıkça sorulan sorular

Net core hosting için Linux mu daha hızlı, Windows mu?

Doğru yapılandırılmış iki ortamda da modern .NET uygulamaları iyi performans verir. Farkı çoğu zaman platform değil, veritabanı sorguları, önbellekleme ve sunucu kaynağı belirler. Platformu hız için değil, bağımlılıklarınız ve yönetim tercihiniz için seçin; performans sorununu ise ölçerek çözün.

.NET Framework 4.8 uygulamamı Linux’ta çalıştırabilir miyim?

Hayır. .NET Framework yalnızca Windows’ta çalışır. Uygulamayı Linux’a taşımak için önce modern .NET’e geçirmeniz gerekir; bu, projenin büyüklüğüne ve kullandığı kütüphanelere göre küçük bir düzenlemeden kapsamlı bir yeniden yazıma kadar uzanabilir. Kısa vadede Windows hosting en az riskli yoldur.

Windows hostingte hangi .NET sürümü çalışır?

Sunucuda kurulu çalışma ortamlarına bağlıdır. Narhost Windows hosting ürün sayfasında .NET Core 9.X ve ASP.NET 2.0–4.8 listeleniyor. Projeniz farklı bir sürümü hedefliyorsa sipariş öncesinde destek ekibine sorun ya da projeyi desteklenen sürüme hedefleyin.

Linux VPS’te .NET uygulaması için kontrol paneli gerekir mi?

Gerekmez. Uygulama systemd hizmeti olarak çalışır, Nginx yapılandırması ve güncellemeler komut satırından yapılır. Birden çok site ve e-posta da yönetecekseniz panel işleri kolaylaştırır, ama tek bir .NET uygulaması için panel ek kaynak ve lisans yükü demektir.

MSSQL veritabanımı Linux sunucuya taşıyabilir miyim?

SQL Server’ın Linux sürümü olduğu için taşıma mümkündür. Lisans sürümünü, bellek ihtiyacını ve yedek planını sizin belirlemeniz gerekir. Alternatif olarak veritabanını PostgreSQL’e taşımak da seçenektir, ama saklı yordamlar ve SQL Server’a özgü sorgular varsa bu ayrı bir geliştirme işidir.

Narhost’ta

Windows hosting paketlerimiz Windows Server 2022 ve Plesk ile gelir; ASP.NET, .NET Core ve MSSQL 2022 desteğiyle .NET projenizi sunucu yönetmeden yayına alırsınız.

Windows hosting paketlerini incele

Bu konuyla ilgili Narhost hizmetleri

Yazıda anlatılan ihtiyaca doğrudan karşılık gelen paketler.

Alışveriş deneyiminizi iyileştirmek için yasal düzenlemelere uygun çerezler (cookies) kullanıyoruz. Detaylı bilgiye Gizlilik ve Çerez Politikası sayfamızdan erişebilirsiniz.