LIONFIN
Plesk Hosting

Plesk ASP.NET Ayarları (Windows Hosting)

5 dk okuma Güncelleme: 6 görüntülenme
Plesk ASP.NET Ayarları (Windows Hosting)

Visual Studio’da sorunsuz çalışan bir uygulama sunucuda 500 hatası verdiğinde sorun çoğu zaman kodda değil, barındırma ayarlarındadır: yanlış .NET sürümü, uyumsuz pipeline modu ya da eksik bir web.config satırı. Plesk ASP.NET ayarları bu değerleri IIS’e dokunmadan panelden düzenlemenizi sağlar.

Bu rehberde LIONFIN Plesk hosting Windows paketlerinde .NET Framework ve ASP.NET Core sürümü seçmeyi, application pool ve ASP.NET Settings ekranını, web.config ile yapılan ayarları, MSSQL bağlantısını ve en sık görülen hataların çözümünü anlatıyoruz.

Windows hostingde ASP.NET: Framework mı, Core mu?

İki farklı çalışma zamanı vardır ve barındırma ayarları buna göre değişir:

ÖzellikASP.NET (Framework 4.x)ASP.NET Core (.NET 6/8)
Çalışma biçimiIIS içinde, application pool ileKestrel + ASP.NET Core Module (in-process)
Plesk’te seçimHosting Settings → ASP.NET versionSürüm sunucuda kurulu runtime ile belirlenir
Yapılandırmaweb.config (system.web)appsettings.json + kısa web.config
YayınlamaDerlenmiş dosyalar + bindotnet publish çıktısı
Tipik hata500.19, sürüm uyuşmazlığı502.5, runtime eksik

Hangi runtime’ların kurulu olduğunu Websites & Domains → Hosting Settings ekranındaki listeden görebilirsiniz. Yeni projeler için ASP.NET Core önerilir; eski WebForms ya da MVC 5 uygulamaları Framework 4.8 ile çalışmaya devam eder. Linux ve Windows arasında kararsızsanız Linux hosting mi Windows hosting mi yazısı karar kriterlerini sıralar; ASP.NET dışı bir proje için Windows hosting zorunlu değildir.

Hosting Settings: .NET sürümü ve application pool

Temel ayarlar alan adının Hosting Settings ekranındadır:

  1. Websites & Domains sekmesinde alan adının kartını açın ve Hosting Settings bağlantısına tıklayın.
  2. Web scripting and statistics bölümünde Microsoft ASP.NET support kutusunu işaretleyin ve ASP.NET version listesinden uygulamanızın derlendiği sürümü seçin (Framework için 4.x).
  3. Gerekiyorsa Microsoft ASP support (klasik ASP) kutusunu da açın; modern projelerde kapalı kalması güvenlik için daha iyidir.
  4. OK ile kaydedin; IIS site yapılandırması otomatik güncellenir.

Her abonelik kendi dedicated application pool içinde çalışır; başka müşterinin uygulaması çökse de sizinki etkilenmez. Pool’un durumu ve Recycle düğmesi alan adı kartındaki Dedicated IIS Application Pool bağlantısındadır. Uygulama bellek sızdırıyorsa ya da yapılandırma değişikliği hemen etki etmiyorsa bu düğmeyle havuzu yeniden başlatın; site birkaç saniye içinde tekrar yanıt verir. Pipeline modu (Integrated/Classic) aynı ekranda seçilir; MVC ve Web API için Integrated gerekir.

İpucu: Sürüm listesinde ihtiyacınız olan runtime yoksa destek talebi açın; runtime kurulumu sunucu düzeyinde yapılır ve paketinize ek ücret yansıtılmaz.

Plesk ASP.NET ayarları ekranı

Framework uygulamalarında alan adı kartındaki ASP.NET Settings bağlantısı, web.config içine dokunmadan sık kullanılan değerleri düzenlemenizi sağlar:

  • Globalization: Culture ve UI culture için tr-TR seçerek tarih ve para biçimlerini Türkçeleştirin; Request/Response encoding utf-8 kalsın.
  • Session: Session timeout (dakika) ve oturum modunu (InProc varsayılan) belirleyin; birden fazla pool kullanmıyorsanız değiştirmeyin.
  • Error handling: Custom errors için RemoteOnly seçin; ziyaretçi hatanın ayrıntısını görmez, siz sunucuda görürsünüz.
  • Compilation and debugging: canlı sitede Debug kapalı olmalıdır; açık kalırsa performans düşer ve hata ayrıntıları sızar.
  • Script library: eski WebForms doğrulama betikleri için aspnet_client yolu.

Bu ekrandaki her değişiklik web.config dosyasına yazılır; dosyayı elle düzenleyenler için ekran yalnızca görsel bir arayüzdür. ASP.NET Core uygulamalarında bu ayarların çoğu appsettings.json ve Program.cs içinde yapılır, ekran büyük ölçüde etkisizdir.

web.config ile yapılan ayarlar

Belge kökündeki (httpdocs) web.config, Plesk ASP.NET ayarları ekranının arkasındaki asıl dosyadır; Plesk dosya yöneticisi ile düzenleyebilirsiniz. En çok gereken bölümler:

<configuration>
  <connectionStrings>
    <add name="Varsayilan"
         connectionString="Server=MSSQL_SUNUCU;Database=db_siteniz;User Id=kullanici;Password=PAROLA;TrustServerCertificate=True" />
  </connectionStrings>
  <system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="/hata" />
    <httpRuntime targetFramework="4.8" maxRequestLength="51200" />
    <globalization culture="tr-TR" uiCulture="tr-TR" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering><requestLimits maxAllowedContentLength="52428800" /></requestFiltering>
    </security>
  </system.webServer>
</configuration>

MSSQL sunucu adı, veritabanı adı ve kullanıcı bilgisi Databases ekranında oluşturduğunuz veritabanının kartında yazar; oluşturma adımları Plesk veritabanı oluşturma rehberindedir. Yükleme boyutu sınırı için hem maxRequestLength (KB) hem maxAllowedContentLength (bayt) değerini birlikte artırın; tek birini değiştirmek yeterli olmaz.

Dikkat: web.config içindeki tek bir XML hatası bütün siteyi 500.19 ile kapatır; düzenlemeden önce dosyanın kopyasını alın.

ASP.NET Core uygulaması yayınlama

Core uygulamaları IIS içinde ASP.NET Core Module aracılığıyla çalışır. Yayınlama adımları:

  1. Projeyi dotnet publish -c Release ile derleyin ya da Visual Studio’da Publish → Folder seçin; Deployment mode olarak Framework-dependent tercih edin, sunucudaki runtime kullanılır ve paket küçük kalır.
  2. Çıktı klasörünün içeriğini httpdocs köküne yükleyin; web.config, appsettings.json ve .dll dosyaları kökte olmalıdır.
  3. Hosting Settings ekranında ASP.NET desteğinin açık olduğundan emin olun; sürüm listesinde Core için ayrı bir seçenek görünmez, modül otomatik devreye girer.
  4. Uygulamanın yazması gereken klasörler (wwwroot/uploads, günlükler) için dosya yöneticisinde application pool kimliğine Write izni verin.
  5. Siteyi açın; ilk istekte uygulama ayağa kalkar, sonraki istekler hızlıdır. Boşta kalınca pool uyuyabilir; kritik uygulamalarda Always running için destek talebi açın.

Yayınlanan web.config içindeki hostingModel="inprocess" ayarı en iyi performansı verir. Ortam değişkenleri (ASPNETCORE_ENVIRONMENT) aynı dosyanın <environmentVariables> bölümüne yazılır. Dağıtımı otomatikleştirmek isterseniz Plesk Git deploy ile depodan doğrudan yayın alabilirsiniz.

Sık karşılaşılan hatalar

HTTP 500.19 – Internal Server Error

web.config okunamıyor: XML hatası, yinelenen bölüm ya da sunucuda kilitli bir ayar. Dosyayı doğrulayın; <modules> ve <handlers> bölümlerini kaldırıp deneyin.

HTTP 502.5 / 500.30 – ANCM hatası

ASP.NET Core runtime sürümü sunucuda yok ya da uygulama başlarken çöküyor. logs klasöründeki stdout günlüğünü açmak için web.config içinde stdoutLogEnabled="true" yapın ve hatayı okuyun.

“Could not load file or assembly”

bin klasöründe eksik ya da farklı sürümde DLL vardır; projeyi yeniden yayınlayıp tüm dosyaları yükleyin.

Veritabanına bağlanılamıyor

Bağlantı dizesindeki sunucu adı, kullanıcı ve parola Databases ekranındakiyle birebir aynı olmalıdır; uzak bağlantı açık değilse MSSQL sunucusuna yalnızca web sunucusundan erişilir.

Türkçe karakterler bozuk

Globalization ayarı ve veritabanı harmanlaması (Turkish_CI_AS) uyumlu olmalıdır; sayfalarda utf-8 meta etiketi bulunmalıdır.

Sık Sorulan Sorular

Aynı hesapta hem ASP.NET Framework hem ASP.NET Core uygulaması çalıştırabilir miyim?

Evet. Her alan adı ve subdomain kendi application pool’unda çalıştığı için biri Framework 4.8, diğeri .NET 8 üzerinde olabilir. Aynı belge kökünde ikisini karıştırmak ise mümkün değildir; ikinci uygulamayı ayrı bir subdomain ya da sanal dizin olarak tanımlayın.

Plesk üzerinden IIS Manager’a erişebilir miyim?

Paylaşımlı hostingde IIS Manager erişimi güvenlik nedeniyle verilmez; ayarların tamamı Hosting Settings, ASP.NET Settings ve web.config aracılığıyla yapılır. Bu üç kanal IIS’in uygulama düzeyindeki tüm ayarlarını kapsar. Sunucu düzeyinde değişiklik gerektiren istekler için destek talebi açabilir ya da VDS tercih edebilirsiniz.

ASP.NET uygulamam neden ilk açılışta yavaş?

Application pool belirli bir süre istek almazsa uyku moduna geçer ve ilk istekte uygulama yeniden derlenip ayağa kalkar; bu birkaç saniye sürebilir. Ziyaretçi trafiği düzenliyse sorun kendiliğinden azalır. Kritik uygulamalarda düzenli aralıklarla ana sayfayı çağıran bir zamanlanmış görev ya da Always running ayarı için destek talebi çözüm olur.

Hangi .NET sürümleri destekleniyor?

Windows paketlerimizde .NET Framework 4.x ile güncel ASP.NET Core LTS sürümleri kuruludur; tam liste Hosting Settings ekranında ve müşteri panelindeki paket ayrıntılarında görünür. Yeni bir sürüm yayınlandığında sunuculara eklenir; ihtiyacınız olan sürüm listede yoksa destek ekibine bildirmeniz yeterlidir.

Bu makale yardımcı oldu mu?

Geri bildiriminiz için teşekkürler!

kişi faydalı buldu

Paylaş

X LinkedIn WhatsApp

Sorunuz mu var? Destek ekibimize yazın.