Konak ve dağıtım ASP.NET Core
Genel olarak, bir ASP.NET Core 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 uygulama kilitleniyor 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 iletacak bir 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. Dağıtım sırasında Visual Studio, dosyalar dağıtım hedefine dotnet publish kopyalanmadan önce adım otomatik olarak gerçekleşir.
Ayar dosyalarını yayımlama
*.json dosyaları varsayılan olarak yayımlanır. Diğer ayarlar dosyalarını yayımlamak için, bunları proje <ItemGroup><Content Include= ... /> dosyasındaki bir öğ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
Publish 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.
Bir .NET Core uygulaması kendi içinde dağıtım veya çerçeveye bağımlı dağıtım olarak yayımlanır. Uygulama kendi içinde ise, .NET çalışma zamanının yer alan derleme dosyaları yayımlama klasörüne dahil edilir. Uygulama çerçeveye bağımlı ise, uygulamanın sunucuda yüklü 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ğımlıdır. Daha fazla bilgi için bkz. .NET Core uygulama dağıtımı.
Uygulama ve .exe .dll, bir ASP.NET Core uygulamasının yayımla 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
Uygulama ASP.NET Core, bir sunucu başlatıldığında ve kilitleniyorsa yeniden başlatıldığında 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. En yaygın iş ASP.NET Core yöneticileri:
- Linux
- Windows
Ters ara sunucu ayarlama
Uygulama sunucuyu Kestrel kullanıyorsa, Nginx, Apacheveya IIS ters proxy sunucusu olarak kullanılabilir. Ters ara sunucu, internetten HTTP isteklerini alır ve bu istekleri adresine Kestrel iletir.
Ters proxy — sunucusu olan veya olmayan yapılandırma desteklenen bir barındırma — yapılandırmasıdır. Daha fazla bilgi için bkz. Ters ara Kestrel sunucu ile ne zaman kullanmalı?
Ters proxy — sunucusu olan veya olmayan yapılandırma desteklenen bir barındırma — yapılandırmasıdır. Daha fazla bilgi için bkz. Ters ara Kestrel sunucu ile ne zaman kullanmalı?
Proxy sunucusu ve yük dengeleyici senaryoları
Ara sunucuların ve yük dengecilerin arkasında barındırılan uygulamalar için ek yapılandırma gerekebilir. Ek yapılandırma olmadan, bir uygulamanın şemaya (HTTP/HTTPS) ve isteğin kaynaklandığı uzak IP adresine erişimi olabilir. Daha fazla bilgi için bkz. ASP.NET Core sunucuları ve yük dengeleri ile çalışacak şekilde yapılandırma.
Dağıtımları Visual Studio için MSBuild ve dağıtımları kullanma
Dağıtım için genellikle çıkışların sunucudan sunucuya kopya dotnet publish ek görevler gerekir. Örneğin, fazladan dosyalar gerekli olabilir veya yayımlama klasöründen dışlanmış olabilir. Visual Studio web MSBuild için özelleştirilebilir ve MSBuild sırasında diğer birçok görevi gerçekleştirmek için özelleştirilebilir. Daha fazla bilgi için ve Visual Studio dağıtımı için yayımlama profillerini (.pubxml) ASP.NET Core yayımlama Using MSBuild ve Team Foundation Build kitabına bakın.
Web'i Yayımla özellik uygulamaları kullanılarak doğrudan Visual Studio Azure App Service. Azure DevOps Services için sürekli dağıtımı Azure App Service. Daha fazla bilgi için bkz. DevOps geliştiricileri için ASP.NET Core.
Azure’da Yayımlama
Visual Studio ile Azure 'da ASP.NET Core uygulaması yayımlamaAzure'da uygulama yayımlama yönergeleri için bkz. Visual Studio. Azure'da bir web uygulaması ASP.NET Core ek bir örnek verilmektedir.
MsDeploy ile Windows
Visual Studio dağıtımı için yayımlama profillerini (.pubxml) ASP.NET Core yayımlama Dotnet msbuild komutunu kullanan bir Visual Studio komut isteminden dahil olmak üzere Windows yayımlama profiliyle uygulama yayımlama yönergeleri için bkz.
Internet Information Services (IIS)
web.configtarafından Internet Information Services (IIS) yapılandırma ile web.config dağıtımları için altındaki makalelere IIS ASP.NET Core Windows konak konakları bakın.
Web grubunda barındırma
Bir web grubu ortamında ASP.NET Core barındırma yapılandırması hakkında bilgi için (örneğin, ölçeklenebilirlik için uygulamanın birden çok örneğinin dağıtımı), Web ASP.NET Core konak grubu bkz. .
Docker'da barındırma
Daha fazla bilgi için bkz. docker kapsayıcılarında konak ASP.NET Core.
Sistem durumu denetimleri gerçekleştirme
Uygulama ve bağımlılıkları üzerinde sistem durumu denetimleri gerçekleştirmek için Sistem Durumu Denetimi Ara Yazılımı'nın kullanın. Daha fazla bilgi için bkz. ASP.NET Core'da sistem durumu denetimleri.
Ek kaynaklar
Genel olarak, bir ASP.NET Core 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 uygulama kilitleniyor 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 iletacak bir 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. Dağıtım sırasında Visual Studio, dosyalar dağıtım hedefine dotnet publish kopyalanmadan önce adım otomatik olarak gerçekleşir.
Klasör içeriği
Publish 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.
Bir .NET Core uygulaması kendi içinde dağıtım veya çerçeveye bağımlı dağıtım olarak yayımlanır. Uygulama kendi içinde ise, .NET çalışma zamanının yer alan derleme dosyaları yayımlama klasörüne dahil edilir. Uygulama çerçeveye bağımlı ise, uygulamanın sunucuda yüklü 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ğımlıdır. Daha fazla bilgi için bkz. .NET Core uygulama dağıtımı.
Uygulama ve .exe .dll, bir ASP.NET Core uygulamasının yayımla 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
Uygulama ASP.NET Core, bir sunucu başlatıldığında ve kilitleniyorsa yeniden başlatıldığında 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. En yaygın iş ASP.NET Core yöneticileri:
- Linux
- Windows
Ters ara sunucu ayarlama
Uygulama sunucuyu Kestrel kullanıyorsa, Nginx, Apacheveya IIS ters proxy sunucusu olarak kullanılabilir. Ters ara sunucu, internetten HTTP isteklerini alır ve bu istekleri adresine Kestrel iletir.
Ters proxy — sunucusu olan veya olmayan yapılandırma desteklenen bir barındırma — yapılandırmasıdır. Daha fazla bilgi için bkz. Ters ara Kestrel sunucu ile ne zaman kullanmalı?
Proxy sunucusu ve yük dengeleyici senaryoları
Proxy sunucularının ve yük dengeleyiciler arkasında barındırılan uygulamalar için ek yapılandırma gerekebilir. Ek yapılandırma olmadan, bir uygulamanın, bir isteğin kaynaklandığı uzak IP adresine (HTTP/HTTPS) ve bu şemaya erişimi olmayabilir. daha fazla bilgi için bkz. proxy sunucularıyla ve yük dengeleyicilerle çalışacak ASP.NET Core yapılandırma.
dağıtımları otomatik hale getirmek için Visual Studio ve MSBuild kullanma
Dağıtım genellikle çıktıyı DotNet Publish bir sunucuya kopyalamanın yanı sıra ek görevler gerektirir. Örneğin, daha fazla dosya gerekli olabilir veya Yayımla klasöründen dışlanamaz. Visual Studio web dağıtımı için MSBuild kullanır ve MSBuild dağıtım sırasında birçok diğer görevi yapmak için özelleştirilebilir. daha fazla bilgi için bkz Visual Studio dağıtımı için yayımlama profillerini (.pubxml) ASP.NET Core yayımlama . ve MSBuild kullanımı ve Team Foundation derleme defteri.
Web 'i yayımla özelliğinikullanarak, uygulamalar doğrudan Azure App Service Visual Studio 'ten 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ştiriciler için DevOps.
Azure’da Yayımlama
Visual Studio ile Azure 'da ASP.NET Core uygulaması yayımlamaVisual Studio kullanarak Azure 'da uygulama yayımlama hakkında yönergeler için bkz.. Azure 'da bir ASP.NET Core web uygulamasıoluşturarak ek bir örnek sağlanır.
Windows üzerinde MSDeploy ile Yayımla
Visual Studio dağıtımı için yayımlama profillerini (.pubxml) ASP.NET Core yayımlama dotnet msbuild komutunu kullanarak bir Windows komut isteminden da dahil olmak üzere Visual Studio yayımlama profiliyle bir uygulama yayımlama hakkında yönergeler için bkz..
Internet Information Services (IIS)
web.config dosyası tarafından sağlanmış yapılandırma ile Internet Information Services (ııs) dağıtımları için, altındaki makalelere bakın IIS ASP.NET Core Windows konak konakları .
Web grubunda barındırma
bir web grubu ortamında uygulamaları ASP.NET Core barındırmak için yapılandırma hakkında bilgi için (örneğin, uygulamanızın ölçeklenebilirlik için birden çok örneğinin dağıtılması), bkz Web ASP.NET Core konak grubu ..
Docker 'da barındırma
Daha fazla bilgi için bkz. docker kapsayıcılarında konak ASP.NET Core.