ASP.NET Core uygulamasını IIS'de yayımlama
Bu öğreticide, iis sunucusunda bir ASP.NET Core uygulamasının nasıl barındırıcısı gösterilmektedir.
Bu öğretici aşağıdaki konuları kapsar:
- .NET Core Barındırma Paketini Windows Server'a yükleyin.
- IIS Yöneticisi'nde bir IIS sitesi oluşturun.
- ASP.NET Core uygulaması dağıtma.
Önkoşullar
- Geliştirme makinesinde yüklü .NET Core SDK'sı .
- Web Sunucusu (IIS) sunucu rolüyle yapılandırılmış Windows Server. Sunucunuz IIS ile web sitelerini barındıracak şekilde yapılandırılmamışsa, IIS ile Windows'ta Konak ASP.NET Core makalesinin IIS yapılandırması bölümündeki yönergeleri izleyin ve ardından bu öğreticiye dönün.
Uyarı
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:
- ASP.NET Core Data Protection için kayıt defteri kovanı oluşturma
- Uygulama havuzunun Erişim Denetim Listesi'nin (ACL) yapılandırması
- IIS dağıtım kavramlarına odaklanmak için bu öğreticide, IIS'de HTTPS güvenliği yapılandırılmamış bir uygulama dağıtılır. HTTPS protokolü için etkinleştirilmiş bir uygulamayı barındırma hakkında daha fazla bilgi için bu makalenin Ek kaynaklar bölümündeki güvenlik konularına bakın. ASP.NET Core uygulamalarını barındırma hakkında daha fazla kılavuz, IIS ile Windows'ta Konak ASP.NET Core makalesinde sağlanır.
.NET Core Barındırma Paketini Yükleme
IIS sunucusuna .NET Core Barındırma Paketini yükleyin. Paket .NET Core Çalışma Zamanı'nı, .NET Core Kitaplığı'nı ve ASP.NET Core 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.
Aşağıdaki bağlantıyı kullanarak yükleyiciyi indirin:
Geçerli .NET Core Barındırma Paketi yükleyicisi (doğrudan indirme)
Yükleyiciyi IIS sunucusunda çalıştırın.
Sunucuyu yeniden başlatın veya ardından bir komut kabuğunda yürütür
net stop was /y
net start w3svc
.
IIS sitesini oluşturma
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ı.
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.
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.
Uyarı
En üst düzey joker karakter bağlamaları (
http://*:80/
vehttp://+: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ı bağlamasının (örneğin*.mysub.com
) böyle bir güvenlik riski yoktur (güvenlik açığı olan*.com
bağlamasından farklı olarak). Bkz. RFC 9110: HTTP Semantiği (Bölüm 7.2. Bölüm. Daha fazla bilgi için ana bilgisayar ve :authority).İşlem modelinin identity uygun izinlere sahip olduğunu onaylayın.
Uygulama havuzunun varsayılan identity değeri (İşlem Modeli>Identity) başka bir identityolarak değiştirilirse
ApplicationPoolIdentity
, yeninin identity 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 Razor Pages uygulaması oluşturma
Sayfalar uygulaması oluşturmak Razor için ASP.NET Core kullanmaya başlama öğreticisini izleyin.
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 Core SDK'sı 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 ).
- Çözüm Gezgini’nde projeye sağ tıklayın ve Yayımla’yı seçin.
- Yayımlama hedefi seçin iletişim kutusunda Klasör yayımlama seçeneğini belirleyin.
- Klasör veya Dosya Paylaşımı 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. Geçerli kullanıcının paylaşımda yayımlamak 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, sitenin
bin/Release/{TARGET FRAMEWORK}/publish
IIS Yöneticisi'ndeki Fiziksel yolu olan sunucudaki IIS site klasörüne taşıyın.
- Yayımla düğmesini 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 Core 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
- IIS için ASP.NET Core Modülü (ANCM)
- ASP.NET Core dizin yapısı
- Azure App Service ve IIS'de ASP.NET Core sorunlarını giderme
- ASP.NET Core'da HTTPS'i zorunlu kılma
- IIS'de WebSockets
ASP.NET Core uygulama dağıtımıyla ilgili makaleler
- Visual Studio ile Azure’a ASP.NET Core uygulaması yayımlama
- Visual Studio Code ile ASP.NET Core uygulamasını Azure'da yayımlama
- ASP.NET Core uygulama dağıtımı için Visual Studio yayımlama profilleri (.pubxml)
IIS HTTPS yapılandırmasıyla ilgili makaleler
IIS ve Windows Server ile ilgili makaleler
IIS yöneticileri için dağıtım kaynakları
- IIS belgeleri
- IIS'de IIS Yöneticisi ile Çalışmaya Başlama
- .NET Core uygulama dağıtımı
- IIS için ASP.NET Core Modülü (ANCM)
- ASP.NET Core dizin yapısı
- ASP.NET Core içeren IIS modülleri
- Azure App Service ve IIS'de ASP.NET Core sorunlarını giderme
- ASP.NET Core ile Azure App Service ve IIS için yaygın hataları giderme
- Uygulama İsteği Yönlendirme ile yapışkan oturumlar
ASP.NET Core