Aracılığıyla paylaş


ASP.NET Core uygulamasını IIS'de yayımlama

Internet Information Services (IIS), Windows üzerinde çalışan ve ASP.NET Core uygulamalarını barındırabilen esnek, genel amaçlı bir web sunucusudur. Windows Server'da ASP.NET Core uygulamalarını şirket içi veya karma bir ortamda çalıştırmanız, Windows Kimlik Doğrulamasına ihtiyacınız olması veya URL Yeniden Yazma, Uygulama İsteği Yönlendirmesi veya merkezi sertifika yönetimi gibi diğer IIS özellikleriyle tümleştirme gerektirmeniz gerektiğinde IIS iyi bir seçimdir.

Bu eğitim aşağıdaki konuları kapsar:

  • .NET Barındırma Paketini Windows Server'a yükleyin.
  • IIS Yöneticisi'nde bir IIS sitesi oluşturun.
  • ASP.NET Core uygulaması dağıtma.

Prerequisites

  • Geliştirme makinesinde .NET SDK yüklüdür.
  • Windows Server, Web Sunucusu (IIS) sunucu rolüyle yapılandırılmıştır. Sunucunuz IIS ile web sitelerini barındıracak şekilde yapılandırılmamışsa, IIS yapılandırması bölümünde belirtilen yönergeleri izleyin ve ardından Windows'ta IIS ile ASP.NET Core'u Konaklama makalesine geri dönün.

Warning

IIS yapılandırması ve web sitesi güvenliği, bu öğretici kapsamında olmayan kavramları içerir. Üretim uygulamalarını IIS'de barındırmadan önce Microsoft IIS belgelerindeki IIS kılavuzuna ve IIS ile barındırmayla ilgili ASP.NET Core makalesine bakın.

Bu öğretici kapsamında olmayan IIS barındırma için önemli senaryolar şunlardır:

.NET Barındırma Paketini Yükleme

IIS sunucusuna .NET Barındırma Paketini yükleyin. Paket .NET Çalışma Zamanı, .NET Kitaplığı ve ASP.NET Çekirdek Modülünü yükler. Modül ASP.NET Core uygulamalarının IIS'nin arkasında çalıştırılmasına olanak tanır.

IIS'de barındırılan ASP.NET Core uygulamaları varsayılan olarak işlem içi barındırma modelini kullanır (ASP.NET Core 3.0'dan beri). İşlem içi barındırma, uygulamayı IIS çalışan işlemiyle (w3wp.exe ) aynı işlemde çalıştırır ve işlem dışı barındırmadan daha iyi performans sağlar. Daha fazla bilgi için Windows'ta IIS ile ASP.NET Core'u Barındırma kısmına bakın.

Aşağıdaki bağlantıyı kullanarak yükleyiciyi indirin:

Geçerli .NET Barındırma Paketi yükleyicisi (doğrudan indirme)

  1. Yükleyiciyi IIS sunucusunda çalıştırın.

  2. Sunucuyu yeniden başlatın veya bir komut satırında net stop was /y ve ardından net start w3svc komutunu çalıştırın.

IIS sitesini oluşturma

  1. IIS sunucusunda, uygulamanın yayımlanan klasör ve dosyalarını içeren bir klasör oluşturun. Aşağıdaki adımda klasörün yolu, uygulamanın fiziksel yolu olarak IIS'ye sağlanır. Uygulamanın dağıtım klasörü ve dosya düzeni hakkında daha fazla bilgi için bkz. ASP.NET Core dizin yapısı.

  2. IIS Yöneticisi'nde, Bağlantılar panelinde sunucunun düğümünü açın. Siteler klasörüne sağ tıklayın. Bağlam menüsünden Web Sitesi Ekle'yi seçin.

  3. Bir Site adı girin ve Oluşturduğunuz uygulamanın dağıtım klasörünün Fiziksel yolunu ayarlayın. Bağlama yapılandırmasını sağlayın ve Tamam'ı seçerek web sitesini oluşturun.

    Warning

    En üst düzey joker karakter bağlamaları (http://*:80/ ve http://+:80) kullanılmamalıdır. En üst düzey joker karakter bağlamaları uygulamanızda güvenlik açıklarına neden olabilir. Bu durum hem güçlü hem de zayıf joker karakterler için geçerlidir. Joker karakterler yerine açık konak adları kullanın. Üst etki alanının tamamını denetliyorsanız, alt etki alanı joker karakter bağlaması (örneğin *.mysub.com) böyle bir güvenlik riski taşımaz (güvenlik riski taşıyan *.com bağlamasından farklı olarak). Bkz RFC 9110: HTTP Semantiği (Bölüm 7.2. Host ve :authority) daha fazla bilgi için.

  4. İşlem modeli kimliğinin uygun izinlere sahip olduğunu onaylayın.

    Uygulama havuzunun varsayılan kimliği (İşlem Modeli>Identity) ApplicationPoolIdentity başka bir kimliğe değiştirilirse, yeni kimliğin uygulamanın klasörüne, veritabanına ve diğer gerekli kaynaklara erişmek için gerekli izinlere sahip olduğunu doğrulayın. Örneğin uygulama havuzu için uygulamanın dosyaları okuduğu ve yazdığı klasörlere okuma ve yazma erişimi gerekir.

ASP.NET Core uygulaması oluşturma

Herhangi bir türde ASP.NET Core sunucu tabanlı uygulama oluşturun.

Note

Bu eğitim, IIS ile sunucu tarafı ASP.NET Core uygulaması barındırmaya dayanmakta olup, bir Blazor Web App içermektedir. IIS ile tek başına Blazor WebAssembly bir uygulamayı barındırma ve dağıtma hakkında yönergeler için bkz. IIS ile ASP.NET Core Blazor WebAssembly barındırma ve dağıtma.

Uygulamayı oluşturun ve dağıtın

Uygulama yayımlama, bir sunucu tarafından barındırılabilir derlenmiş bir uygulama oluşturmak anlamına gelir. Uygulama dağıtma, yayımlanan uygulamayı bir barındırma sistemine taşıma anlamına gelir. Yayımlama adımı .NET SDK tarafından işlenirken, dağıtım adımı çeşitli yaklaşımlarla işlenebilir. Bu öğretici, aşağıdaki durumlarda klasör dağıtım yaklaşımını benimser:

  • Uygulama bir klasörde yayımlanır.
  • Klasörün içeriği IIS sitesinin klasörüne taşınır (IIS Yöneticisi'nde sitenin Fiziksel yolu ).

ASP.NET Core uygulamaları çerçeveye bağımlı (sunucuda .NET yüklü olmalıdır) veya bağımsız (yayımlanan çıktıda .NET çalışma zamanını içerir) olarak yayımlanabilir. Çoğu IIS dağıtımında, .NET Barındırma Paketi sunucuda gerekli çalışma zamanını sağladığından çerçeveye bağımlı yaklaşım önerilir. Daha fazla bilgi için bkz. .NET uygulama dağıtımı.

web.config Uygulama yayımlandığında otomatik olarak bir dosya oluşturulur. IIS, uygulamanın ASP.NET Çekirdek Modülünü yapılandırmak için bu dosyayı kullanır. Gelişmiş yapılandırma değişiklikleri yapmazsanız dosyayı kaldırmayın veya el ile düzenlemeyin web.config .

  1. Çözüm Gezgini'nde projeye sağ tıklayın ve Yayımla'yı seçin.
  2. Yayımla iletişim kutusunda yayımlama hedefi olarak Klasör'ü seçin ve İleri'yi seçin.
  3. Klasör konumu yolunu ayarlayın.
    • Geliştirme makinesinde ağ paylaşımı olarak kullanılabilen IIS sitesi için bir klasör oluşturduysanız, paylaşımın yolunu sağlayın. Mevcut kullanıcının paylaşıma yayımlama izni için yazma erişimi olmalıdır.
    • IIS sunucusundaki IIS site klasörüne doğrudan dağıtamıyorsanız, çıkarılabilir medyadaki bir klasöre yayımlayın ve yayımlanan uygulamayı, sitenin IIS Yöneticisi'ndeki Fiziksel yolu olan sunucudaki IIS site klasörüne fiziksel olarak taşıyın. Klasörün içeriğini bin/Release/{TARGET FRAMEWORK}/publish ( {TARGET FRAMEWORK} örneğin net10.0, hedef çerçeve takma adıdır), sitenin IIS Yöneticisi'ndeki Fiziksel yolu olan sunucudaki IIS site klasörüne taşıyın.
  4. Son'u ve ardından Yayımla'yı seçin.

Web sitesine göz atma

Uygulamaya, ilk isteği aldıktan sonra tarayıcıda erişilebilir. Site için IIS Yöneticisi'nde oluşturduğunuz uç nokta bağlamasında uygulamaya bir istek gönderin.

Sonraki Adımlar

Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:

  • .NET Barındırma Paketini Windows Server'a yükleyin.
  • IIS Yöneticisi'nde bir IIS sitesi oluşturun.
  • ASP.NET Core uygulaması dağıtma.

IIS'de ASP.NET Core uygulamalarını barındırma hakkında daha fazla bilgi edinmek için IIS'ye Genel Bakış makalesine bakın:

Ek kaynaklar

ASP.NET Core belge kümesindeki makaleler

ASP.NET Core uygulama dağıtımıyla ilgili makaleler

IIS HTTPS yapılandırmasıyla ilgili makaleler

IIS ve Windows Server ile ilgili makaleler

IIS yöneticileri için dağıtım kaynakları