Bu öğreticide, IIS sunucusunda bir ASP.NET Core uygulamasını barındırma gösterilmektedir.
Bu öğretici aşağıdaki konuları kapsar:
- Windows Server’da .NET Core Barındırma Paketini yükleyin.
- IIS Yöneticisinde bir IIS sitesi oluşturun.
- bir 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.
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ırmaya ilişkin ASP.NET Core makalesine bakın.
Bu öğretici kapsamında olmayan IIS barındırma için önemli senaryolar şunlardır:
- ASP.NET Core Veri Koruması için kayıt defteri kovanı oluşturma
- Uygulama havuzunun Access Control Listesinin (ACL) yapılandırması
- IIS dağıtım kavramlarına odaklanmak için bu öğretici, IIS’de yapılandırılmış HTTPS güvenliği olmayan bir uygulama dağıtı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ırmaya yönelik diğer yönergeler 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 komut kabuğunda komutunu çalıştırın
net stop was /ynet 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öneticisinde, 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.
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ı 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. Daha fazla bilgi için ana bilgisayar ve :authority).
- İşlem modeli kimliğinin düzgün izinlere sahip olduğunu onaylayın. Uygulama havuzunun (İşlem Modeli>Identity) varsayılan kimliği başka bir kimliğe
ApplicationPoolIdentity
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 Razor Sayfaları 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ımlamak , 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şımak 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öneticisinde sitenin Fiziksel yolu ).
Visual Studio
.NET Core CLI
Mac için Visual Studio
- Uygulama bir klasörde yayımlanır.
- Klasörün içeriği IIS sitesinin klasörüne taşınır (IIS Yöneticisinde sitenin Fiziksel yolu ).
- Komut kabuğunda uygulamayı yayın yapılandırmasında dotnet publish komutuyla yayımlayın :
dotnet publish –configuration Release
- Klasörün içeriğini
bin/Release/{TARGET FRAMEWORK}/publish
, sitenin IIS Yöneticisindeki Fiziksel yolu olan sunucudaki IIS site klasörüne taşıyın.
- Çözüm’de projeye sağ tıklayın ve Klasöre Yayımla’yı > seçin.
- Klasör seçin 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, kaldırılabilir medyadaki bir klasöre yayımlayın ve yayımlanan uygulamayı, sitenin IIS Yöneticisindeki 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
, sitenin IIS Yöneticisindeki 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öneticisinde 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:
- Windows Server’da .NET Core Barındırma Paketini yükleyin.
- IIS Yöneticisinde bir IIS sitesi oluşturun.
- bir ASP.NET Core uygulaması dağıtma.
IIS’de ASP.NET Core uygulamaları barındırma hakkında daha fazla bilgi edinmek için IIS’ye Genel Bakış makalesine bakın: