X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

₺ Türk Lirası $ US Dollar
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

₺ Türk Lirası $ US Dollar

Windows VDS Üzerinde IIS ile ASP.NET Core Yayınlama

AnasayfaYazılarTeknik RehberlerWindows VDS Üzerinde IIS ile ASP.NE...

Windows VDS üzerinde bir ASP.NET Core uygulamasını yayınlamak için önce RDP üzerinden yönetici erişimini, doğru .NET çalışma ortamını ve alan adının sunucuya yönlendiğini doğrulayın. Ardından IIS’te ayrı bir site ve uygulama havuzu oluşturun, yayımlanmış dosyaları bağlayın, izinleri sınırlı biçimde düzenleyin ve aynı URL’yi yeni günlük kayıtlarıyla test edin.

Windows VDS ve IIS için başlamadan önce gerekenler

Bu işlem, Windows Server işletim sistemi bulunan ve RDP ile yönetici olarak erişebildiğiniz bir Windows VDS ortamı içindir. Paylaşımlı hosting panelinde yalnızca site ekleme yetkiniz varsa IIS ve uygulama havuzu ayarlarını değiştiremezsiniz; bu durumda sağlayıcının yönetim kapsamını önceden netleştirmek gerekir.

Uygulamanın hangi teknolojiyle oluşturulduğunu ayırmak ilk önemli karardır. ASP.NET Core uygulaması sunucuda uygun .NET Hosting Bundle bulunmasını gerektirirken, klasik ASP.NET Framework uygulaması farklı bir IIS ve .NET Framework bileşimi kullanır. Elinizdeki yayımlama çıktısı ASP.NET Core ise yalnızca sunucuya .NET SDK kurmak yeterli değildir; IIS’in uygulamayı başlatabilmesi için ilgili Hosting Bundle ve ASP.NET Core Module bileşeni gerekir.

Alan adının DNS kaydı sunucunun dış IP adresini göstermeli, sağlayıcı tarafındaki ağ kuralları da HTTP için 80 ve HTTPS için 443 numaralı bağlantılara izin vermelidir. DNS henüz yayılmadıysa önce sunucunun yerel veya geçici adresiyle test yapın; alan adı çözümlemesini uygulama hatası sanmayın. Uygulama dosyalarının ve veritabanı bilgilerinin yedeğini alın, mevcut IIS ayarlarını not edin ve değişiklikleri tek tek uygulayın.

Uygulamayı IIS üzerinde yayına alma

  1. Windows özelliklerini ve çalışma ortamını kontrol edin. Server Manager veya IIS Manager üzerinden Web Server rolünün ve gerekli ASP.NET bileşenlerinin kurulu olduğunu doğrulayın. Uygulamanın hedeflediği .NET sürümüyle uyumlu Hosting Bundle sunucuda yoksa önce üreticinin desteklediği kurulum paketini kullanın. Kurulumdan sonra IIS’in ASP.NET Core uygulamasını tanıdığını ve olay günlüklerinde eksik modül uyarısı bulunmadığını kontrol edin. Uyumlu ortam varsa bir sonraki adıma geçin; sürüm uyuşmazlığı görünüyorsa uygulamayı rastgele farklı bir runtime ile çalıştırmak yerine hedef sürümü düzeltin.
  2. Yayımlanmış dosyaları ayrı bir klasöre yerleştirin. Geliştirme bilgisayarındaki kaynak kodu değil, üretim için oluşturulmuş publish çıktısını kullanın. Bu klasörü VDS’e güvenli bir aktarım yöntemiyle taşıyın ve IIS’in site ayarlarında seçtiğiniz fiziksel yola bağlayın. IIS Manager’da yeni bir site için benzersiz bir ad, doğru fiziksel yol ve uygun bağlama bilgileri girin. Tarayıcıda basit bir statik dosya açılıyorsa IIS yolu doğrudur; 404 görülüyorsa önce dosya yolu veya site bağlamasını düzeltin, uygulama kodunu değiştirmeyin.
  3. Uygulama havuzunu doğru çalışma modeliyle yapılandırın. ASP.NET Core uygulamalarında IIS’in uygulamayı ASP.NET Core Module aracılığıyla başlatacağı uygun uygulama havuzu ayarlarını kullanın; klasik ASP.NET Framework ayarlarını kopyalamayın. Uygulama havuzu kimliğinin yalnızca ihtiyaç duyduğu klasörlere okuma ve çalıştırma erişimi olmalıdır. Uygulama dosyalarına geniş yazma izni vermek yerine, yükleme veya günlük klasörü gibi gerçekten yazılması gereken konumları ayrı değerlendirin. Site başlatıldıktan sonra havuzun durup durmadığını ve Windows Event Viewer içindeki Application günlüklerinde yeni hata oluşup oluşmadığını inceleyin.
  4. İlk isteği kontrollü biçimde test edin. Önce aynı VDS üzerinden site adresini, sonra dış ağdan alan adını açın. Statik dosya geliyor fakat uygulama 500 hatası veriyorsa IIS erişim günlüklerinde aynı zamana ait kaydı ve Event Viewer Application bölümündeki yeni ASP.NET Core olayını karşılaştırın. Örneğin kayıtta HTTP Error 500.30 ve uygulamanın başlatılamadığı belirtiliyorsa sorun genellikle eksik veya uyumsuz runtime, hatalı ortam değişkeni ya da uygulamanın başlangıç yapılandırmasıdır; bu bulgu izin hatasını kanıtlamaz. Önce hedef runtime ve uygulama ayarlarını düzeltin, ardından yalnızca ilgili uygulama havuzunu yeniden dönüştürün veya geri dönüştürün.
  5. Aynı işlemi yeni kanıtla doğrulayın. Yaptığınız değişikliğin saatini not edin, uygulamanın daha önce başarısız olan aynı URL’sini yeniden açın ve bu isteğin zamanına ait yeni IIS kaydını kontrol edin. Yeni kayıtta başarılı HTTP durumu ve uygulamanın beklenen yanıtı görülüyorsa yayınlama sorunu çözülmüştür. Başarısızlık sürüyorsa eski kaydı tekrar yorumlamak yerine yeni olayın ilk anlamlı hata satırını inceleyin. Değişiklik sorunu artırdıysa not ettiğiniz önceki runtime, bağlama veya uygulama havuzu değerine dönün; aynı anda başka bir ayarı değiştirmeyin.

Belirtiye göre doğru düzeltmeyi seçme

Site hiç açılmıyor ve tarayıcı bağlantı zaman aşımı gösteriyorsa önce DNS çözümlemesini, VDS’in dış IP’sini ve sağlayıcı güvenlik duvarında ilgili portları kontrol edin. Buna karşılık IIS’in varsayılan sayfası açılıyor fakat alan adındaki site açılmıyorsa bağlama kaydındaki host adı veya port çakışması daha olasıdır. İlk durumda ağ yolunu, ikinci durumda IIS site bağlamasını düzeltin; iki farklı belirti için uygulama dosyalarını değiştirmeyin.

Diyelim ki uygulama dosyaları doğru klasörde, statik bir sağlık dosyası açılıyor ve yalnızca uygulama URL’si 500.30 dönüyor. Event Viewer kaydında sunucuda hedeflenen .NET çalışma ortamının bulunmadığı yazıyorsa Hosting Bundle’ı uyumlu sürümle tamamlamak mantıklıdır. Aynı testten sonra yeni kayıtta veritabanı bağlantı reddi görülürse ilk sorunun çözüldüğü, kalan problemin uygulamanın bağlantı ayarlarında olduğu anlaşılır; bu durumda IIS izinlerini genişletmek doğru çözüm değildir.

HTTPS ve üretim kontrolü

HTTP üzerinden uygulama çalıştıktan sonra HTTPS bağlamasını ekleyin. Sertifikanın alan adıyla eşleştiğini, geçerlilik durumunu ve IIS’te doğru siteye bağlandığını kontrol edin. HTTPS başarısızsa önce sertifika ve bağlama kaydını, uygulama 500 vermeye devam ediyorsa uygulamanın yeni olay günlüğünü inceleyin; TLS sorununu çözmek için güvenlik kontrollerini kapatmayın.

İlk kurulumdan sonra Türkiye VDS sunucu paketleri seçeneklerini incelerken kararınızı yalnızca işletim sistemi adına göre vermeyin. Uygulamanın ihtiyaç duyduğu RAM, disk türü, yedekleme yöntemi, ağ erişimi ve Windows lisanslama kapsamını ayrıca doğrulayın. Yayınlamayı tamamladıktan sonraki en güvenli adım, aynı sağlık URL’sini belirli aralıklarla izlemek ve yeni bir sürümden önce geri dönüş için mevcut publish klasörünü korumaktır.


Top