Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Bu, bu makalenin en son sürümü değildir. Geçerli sürüm için bu makalenin .NET 10 sürümüne bakın.
Uyarı
ASP.NET Core'un bu sürümü artık desteklenmiyor. Daha fazla bilgi için bkz . .NET ve .NET Core Destek İlkesi. Geçerli sürüm için bu makalenin .NET 10 sürümüne bakın.
Genel olarak, bir ASP.NET Core uygulamasını barındırma ortamına dağıtmak için:
- Yayımlanan uygulamayı barındırma sunucusundaki bir klasöre dağıtın.
- İstekler geldiğinde uygulamayı başlatan ve kilitlendiğinde veya sunucu yeniden başlatıldıktan sonra uygulamayı yeniden başlatan bir işlem yöneticisi ayarlayın.
- Ters ara sunucu yapılandırması için istekleri uygulamaya iletmek üzere ters ara sunucu ayarlayın.
Blazor Bu düğümdeki yönergeleri tamamlayıcı nitelikte olan veya bu yönergelerin yerine geçen barındırma ve dağıtım kılavuzu için bkz. ASP.NET Core Blazor barındırma ve dağıtma.
Klasöre yayımlama
dotnet publish komutu, uygulama kodunu derler ve uygulamayı çalıştırmak için gereken dosyaları bir yayımlama klasörüne kopyalar. Visual Studio'dan dağıtım yapılırken, dosyalar dağıtım hedefine kopyalanmadan önce dotnet publish adımı otomatik olarak gerçekleşir.
Yayımlanan uygulamayı yerel olarak çalıştırma
Yayımlanan uygulamayı yerel olarak çalıştırmak için dotnet <ApplicationName>.dll komutunu yayınla klasöründen çalıştırın.
Yayımlama ayarı dosyaları
*.json dosyaları varsayılan olarak yayımlanır. Diğer ayar dosyalarını yayımlamak için bunları proje dosyasındaki bir <ItemGroup><Content Include= ... /> öğesinde belirtin. Aşağıdaki örnek XML dosyalarını yayımlar:
<ItemGroup>
<Content Include="**\*.xml" Exclude="bin\**\*;obj\**\*"
CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
Klasör içeriği
Yayımlama klasörü bir veya daha fazla uygulama derleme dosyası, bağımlılık ve isteğe bağlı olarak .NET çalışma zamanı içerir.
.NET Core uygulaması kendi içinde dağıtım veya çerçeveye bağımlı dağıtım olarak yayımlanabilir. Uygulama kendi içindeyse, .NET çalışma zamanını içeren derleme dosyaları yayımlama klasörüne eklenir. Uygulama çerçeveye bağımlıysa, uygulamanın sunucuda yüklü olan bir .NET sürümüne başvurusu olduğundan .NET çalışma zamanı dosyaları dahil değildir. Varsayılan dağıtım modeli çerçeveye bağlıdır. Daha fazla bilgi için bkz. .NET Core uygulama dağıtma.
.exe ve .dll dosyalarına ek olarak, bir ASP.NET Core uygulamasının yayımlama klasörü genellikle yapılandırma dosyalarını, statik varlıkları ve MVC görünümlerini içerir. Daha fazla bilgi için, bkz. ASP.NET Core dizin yapısı.
İşlem yöneticisi ayarlama
ASP.NET Core uygulaması, bir sunucu başlatıldığında başlatılması ve kilitlendiğinde yeniden başlatılması gereken bir konsol uygulamasıdır. Başlatma ve yeniden başlatma işlemlerini otomatikleştirmek için bir işlem yöneticisi gerekir. ASP.NET Core için en yaygın süreç yöneticileri şunlardır:
- Linux
- Windows
Ters proxy ayarla
Uygulama sunucuyu kullanıyorsa Kestrel , Nginx veya IIS ters ara sunucu olarak kullanılabilir. Ters ara sunucu İnternet'ten HTTP istekleri alır ve bunları Kestrel adresine iletir.
Her iki yapılandırma da (ters ara sunucu varken veya yokken) desteklenen bir barındırma yapılandırmasıdır. Daha fazla bilgi için, bkz. Ters ara sunucusuyla Kestrel ne zaman kullanılacağı.
Her iki yapılandırma da (ters ara sunucu varken veya yokken) desteklenen bir barındırma yapılandırmasıdır. Daha fazla bilgi için bkz. Ters proxy ile kullanım zamanlarıKestrel.
Ara sunucu ve yük dengeleyici senaryoları
Ara sunucuların ve yük dengeleyicilerin arkasında barındırılan uygulamalar için ek yapılandırma gerekebilir. Ek yapılandırma olmadan, bir uygulamanın düzene (HTTP/HTTPS) ve isteğin kaynaklandığı uzak IP adresine erişimi olmayabilir. Daha fazla bilgi için bkz. ASP.NET Core'u ara sunucular ve yük dengeleyicilerle çalışacak şekilde yapılandırma.
Dağıtımları otomatikleştirmek için Visual Studio ve MSBuild kullanma
Dağıtım için genellikle, dotnet publish çıkışının sunucuya kopyalanmasının yanı sıra ek görevler gerekir. Örneğin, ek dosyalar gerekli olabilir veya yayımlama klasöründen dışlanabilir. Visual Studio, web dağıtımı için MSBuild kullanır ve MSBuild dağıtım sırasında diğer birçok görevi yerine getirmek üzere özelleştirilebilir. Daha fazla bilgi için, bkz. ASP.NET Core uygulama dağıtımı için Visual Studio yayımlama profilleri (.pubxml) ve MSBuild ve Team Foundation Derlemesini Kullanma kitabı.
Web Yayımlama özelliği kullanılarak, uygulamalar doğrudan Visual Studio'dan Azure App Service'e dağıtılabilir. Azure DevOps Services, Azure App Service için sürekli dağıtımı destekler. Daha fazla bilgi için, bkz. ASP.NET Core Geliştiricileri için DevOps.
Azure'a Yayımlama
Visual Studio kullanarak Azure'da uygulama yayımlama yönergeleri için bkz. Visual Studio ile Azure'da ASP.NET Core uygulaması yayımlama. Ek bir örnek, Azure'da ASP.NET Core web uygulaması oluşturma tarafından sağlanır.
Windows'da MSDeploy ile yayımlama
Dotnet msbuild komutunu kullanan bir Windows komut isteminden de dahil olmak üzere Visual Studio yayımlama profiliyle uygulama yayımlama yönergeleri için, bkz. ASP.NET Core uygulama dağıtımı için Visual Studio yayımlama profilleri (.pubxml).
Internet Information Services (IIS)
web.config dosyası tarafından sağlanan yapılandırmayla Internet Information Services'e (IIS) yapılan dağıtımlar için, IIS ile Windows'da ASP.NET Core Barındırma altındaki makalelere bakın.
Web çiftliğinde barındırma
ASP.NET Core uygulamalarını bir web grubu ortamında barındırma yapılandırması (örneğin, ölçeklenebilirlik için uygulamanızın birden çok örneğinin dağıtımı) hakkında bilgi için bkz. Web grubunda ASP.NET Core barındırma.
Docker'da Barındırma
Daha fazla bilgi için, bkz. Docker kapsayıcılarında ASP.NET Core barındırma.
Sağlık kontrolleri yapın
Uygulama ve bağımlılıklarında sağlık denetimleri gerçekleştirmek için Sağlık Denetimi Ara Yazılımı kullanın. Daha fazla bilgi için, bkz. ASP.NET Core sistem durumu denetimleri.
Ek kaynaklar
Genel olarak, bir ASP.NET Core uygulamasını barındırma ortamına dağıtmak için:
- Yayımlanan uygulamayı barındırma sunucusundaki bir klasöre dağıtın.
- İstekler geldiğinde uygulamayı başlatan ve kilitlendiğinde veya sunucu yeniden başlatıldıktan sonra uygulamayı yeniden başlatan bir işlem yöneticisi ayarlayın.
- Ters ara sunucu yapılandırması için istekleri uygulamaya iletmek üzere ters ara sunucu ayarlayın.
Klasöre yayımlama
dotnet publish komutu, uygulama kodunu derler ve uygulamayı çalıştırmak için gereken dosyaları bir yayımlama klasörüne kopyalar. Visual Studio'dan dağıtım yapılırken, dosyalar dağıtım hedefine kopyalanmadan önce dotnet publish adımı otomatik olarak gerçekleşir.
Klasör içeriği
Yayımlama klasörü bir veya daha fazla uygulama derleme dosyası, bağımlılık ve isteğe bağlı olarak .NET çalışma zamanı içerir.
.NET Core uygulaması kendi içinde dağıtım veya çerçeveye bağımlı dağıtım olarak yayımlanabilir. Uygulama kendi içindeyse, .NET çalışma zamanını içeren derleme dosyaları yayımlama klasörüne eklenir. Uygulama çerçeveye bağımlıysa, uygulamanın sunucuda yüklü olan bir .NET sürümüne başvurusu olduğundan .NET çalışma zamanı dosyaları dahil değildir. Varsayılan dağıtım modeli çerçeveye bağlıdır. Daha fazla bilgi için bkz. .NET Core uygulama dağıtma.
.exe ve .dll dosyalarına ek olarak, bir ASP.NET Core uygulamasının yayımlama klasörü genellikle yapılandırma dosyalarını, statik varlıkları ve MVC görünümlerini içerir. Daha fazla bilgi için, bkz. ASP.NET Core dizin yapısı.
İşlem yöneticisi ayarlama
ASP.NET Core uygulaması, bir sunucu önyükleme yaptığında başlatılması ve kilitlendiğinde yeniden başlatılması gereken bir konsol uygulamasıdır. Başlatma ve yeniden başlatma işlemlerini otomatikleştirmek için bir işlem yöneticisi gerekir. ASP.NET Core için en yaygın süreç yöneticileri şunlardır:
- Linux
- Windows
Ters proxy sunucu ayarlama
Uygulama sunucuyu kullanıyorsa Kestrel , Nginx veya IIS ters ara sunucu olarak kullanılabilir. Ters ara sunucu İnternet'ten HTTP istekleri alır ve bunları Kestrel adresine iletir.
Her iki yapılandırma da (ters ara sunucu varken veya yokken) desteklenen bir barındırma yapılandırmasıdır. Daha fazla bilgi için, bkz. Ters ara sunucu ile Kestrel ne zaman kullanılmalı.
Ara sunucu ve yük dengeleyici senaryoları
Ara sunucuların ve yük dengeleyicilerin arkasında barındırılan uygulamalar için ek yapılandırma gerekebilir. Ek yapılandırma olmadan, bir uygulamanın düzene (HTTP/HTTPS) ve isteğin kaynaklandığı uzak IP adresine erişimi olmayabilir. Daha fazla bilgi için bkz. ASP.NET Core'u ara sunucular ve yük dengeleyicilerle çalışacak şekilde yapılandırma.
Dağıtımları otomatikleştirmek için Visual Studio ve MSBuild kullanma
Dağıtım için genellikle, dotnet publish çıkışının sunucuya kopyalanmasının yanı sıra ek görevler gerekir. Örneğin, ek dosyalar gerekli olabilir veya yayımlama klasöründen dışlanabilir. Visual Studio, web dağıtımı için MSBuild kullanır ve MSBuild dağıtım sırasında diğer birçok görevi yerine getirmek üzere özelleştirilebilir. Daha fazla bilgi için, bkz. ASP.NET Core uygulama dağıtımı için Visual Studio yayımlama profilleri (.pubxml) ve MSBuild ve Team Foundation Derlemesini Kullanma kitabı.
Web Yayımlama özelliği kullanılarak, uygulamalar doğrudan Visual Studio'dan Azure App Service'e dağıtılabilir. Azure DevOps Services, Azure App Service için sürekli dağıtımı destekler. Daha fazla bilgi için, bkz. ASP.NET Core Geliştiricileri için DevOps.
Azure'a Yayımlama
Visual Studio kullanarak Azure'da uygulama yayımlama yönergeleri için bkz. Visual Studio ile Azure'da ASP.NET Core uygulaması yayımlama. Ek bir örnek, Azure'da ASP.NET Core web uygulaması oluşturma tarafından sağlanır.
Windows'da MSDeploy ile yayımlama
Dotnet msbuild komutunu kullanan bir Windows komut isteminden de dahil olmak üzere Visual Studio yayımlama profiliyle uygulama yayımlama yönergeleri için, bkz. ASP.NET Core uygulama dağıtımı için Visual Studio yayımlama profilleri (.pubxml).
Internet Information Services (IIS)
web.config dosyası tarafından sağlanan yapılandırmayla Internet Information Services'e (IIS) yapılan dağıtımlar için, IIS ile Windows'da ASP.NET Core Barındırma altındaki makalelere bakın.
Web çiftliğinde barındırma
ASP.NET Core uygulamalarını bir web grubu ortamında barındırma yapılandırması (örneğin, ölçeklenebilirlik için uygulamanızın birden çok örneğinin dağıtımı) hakkında bilgi için bkz. Web grubunda ASP.NET Core barındırma.
Docker'da Barındırma
Daha fazla bilgi için, bkz. Docker kapsayıcılarında ASP.NET Core barındırma.
Ek kaynaklar
ASP.NET Core