Hostování a nasazení ASP.NET Core
Obecně platí, že pokud chcete nasadit ASP.NET Core do hostitelského prostředí:
- Publikovanou aplikaci nasaďte do složky na hostitelském serveru.
- Nastavte správce procesů, který spustí aplikaci při doručení požadavků a restartuje aplikaci po chybě nebo restartování serveru.
- Pro konfiguraci reverzního proxy serveru nastavte reverzní proxy server pro předávání požadavků do aplikace.
Publikování do složky
Příkaz dotnet publish zkompiluje kód aplikace a zkopíruje soubory potřebné ke spuštění aplikace do složky publish. Při nasazování z Visual Studio, tento krok probíhá automaticky před zkopírování souborů dotnet publish do cíle nasazení.
Soubory nastavení publikování
*.json Soubory jsou ve výchozím nastavení publikovány. Pokud chcete publikovat další soubory nastavení, zadejte je <ItemGroup><Content Include= ... /> v elementu v souboru projektu. Následující příklad publikuje soubory XML:
<ItemGroup>
<Content Include="**\*.xml" Exclude="bin\**\*;obj\**\*"
CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
Obsah složky
Složka publish obsahuje jeden nebo více souborů sestavení aplikace, závislosti a volitelně modul runtime .NET.
Aplikaci .NET Core je možné publikovat jako samostatné nasazení nebo nasazení závislé na rozhraní. Pokud je aplikace samostatná, soubory sestavení, které obsahují modul runtime .NET, jsou zahrnuty ve složce publikování. Pokud je aplikace závislá na rozhraní, soubory modulu runtime .NET nejsou zahrnuty, protože aplikace obsahuje odkaz na verzi rozhraní .NET, která je nainstalovaná na serveru. Výchozí model nasazení je závislý na rozhraní. Další informace najdete v tématu Nasazení aplikace .NET Core.
Kromě souborů .exe a .dll obsahuje složka publikování pro aplikaci ASP.NET Core obvykle konfigurační soubory, statické prostředky a zobrazení MVC. Další informace naleznete v tématu struktura ASP.NET Core directory.
Nastavení správce procesů
Aplikace ASP.NET Core konzolová aplikace, která se musí spustit při spuštění a restartování serveru, pokud dojde k chybě. K automatizaci spuštění a restartování se vyžaduje správce procesů. Nejběžnějšími správci procesů pro ASP.NET Core jsou:
- Linux
- Windows
Nastavení reverzního proxy serveru
Pokud aplikace používá Kestrel server, můžete Nginx, Apachenebo IIS použít jako reverzní proxy server. Reverzní proxy server přijímá požadavky HTTP z internetu a předává je do Kestrel .
Konfigurace s — reverzní konfigurací nebo proxy server je — podporovaná konfigurace hostování. Další informace najdete v tématu Kdy použít s Kestrel reverzním proxy serverem.
Konfigurace s — reverzní konfigurací nebo proxy server je — podporovaná konfigurace hostování. Další informace najdete v tématu Kdy použít s Kestrel reverzním proxy serverem.
Scénáře proxy serveru a nástroje pro vyrovnávání zatížení
U aplikací hostovaných za proxy servery a nástroji pro vyrovnávání zatížení může být nutná další konfigurace. Bez další konfigurace nemusí mít aplikace přístup ke schématu (HTTP/HTTPS) a ke vzdálené IP adrese, ze které požadavek pochází. Další informace najdete v tématu Konfigurace ASP.NET Core pro práci s proxy servery a nástroji pro vyrovnávání zatížení.
Použití Visual Studio a MSBuild k automatizaci nasazení
Nasazení často vyžaduje další úlohy kromě kopírování výstupu z dotnet publish na server. Mohou být například vyžadovány nebo vyloučeny další soubory ze složky publikování. Visual Studio používá MSBuild pro nasazení webu a MSBuild lze přizpůsobit pro provádění mnoha dalších úloh během nasazování. Další informace najdete v článku a Visual Studio publikování profilů (.pubxml) pro ASP.NET Core nasazení aplikací v knize Using MSBuild a Team Foundation Build.
Pomocí funkce Publikovat web je možné aplikace nasadit přímo z Visual Studio do Azure App Service. Azure DevOps Services podporuje průběžné nasazování do Azure App Service. Další informace najdete v tématu DevOps pro ASP.NET Core vývojáře.
Publikování do Azure
Pokyny k publikování aplikace do Azure pomocí azure Publikování ASP.NET Core aplikace do Azure pomocí Visual Studio najdete v Visual Studio. Další příklad je k dispozici v tématu Vytvoření ASP.NET Core aplikace v Azure.
Publikování pomocí MSDeploy v Windows
Pokyny k publikování aplikace pomocí profilu Visual Studio, včetně publikování na příkazovém řádku Windows pomocí příkazu Visual Studio publikování profilů (.pubxml) pro ASP.NET Core nasazení aplikací dotnet msbuild.
Internet Information Services (IIS)
Nasazení do Internetová informační služba (IIS) s konfigurací poskytnutou souborem web.config najdete v článcích v části hostování ASP.NET Core v Windows se službou IIS .
Hostování ve webové farmě
Informace o konfiguraci pro hostování ASP.NET Core aplikací ve webové farmě (například nasazení více instancí vaší aplikace kvůli škálovatelnosti) najdete v tématu Hostování ASP.NET Core ve webové farmě .
Hostování v Dockeru
Další informace naleznete v tématu Hostování ASP.NET Core v kontejnerech Dockeru.
Provádění kontrol stavu
Middleware kontroly stavu použijte k provádění kontrol stavu aplikace a jejích závislostí. Další informace naleznete v tématu Kontroly stavu v ASP.NET Core.
Další zdroje informací
Obecně platí, že pokud chcete nasadit ASP.NET Core do hostitelského prostředí:
- Publikovanou aplikaci nasaďte do složky na hostitelském serveru.
- Nastavte správce procesů, který spustí aplikaci při doručení požadavků a restartuje aplikaci po chybě nebo restartování serveru.
- Pro konfiguraci reverzního proxy serveru nastavte reverzní proxy server pro předávání požadavků do aplikace.
Publikování do složky
Příkaz dotnet publish zkompiluje kód aplikace a zkopíruje soubory potřebné ke spuštění aplikace do složky publish. Při nasazování z Visual Studio, tento krok probíhá automaticky před zkopírování souborů dotnet publish do cíle nasazení.
Obsah složky
Složka publish obsahuje jeden nebo více souborů sestavení aplikace, závislosti a volitelně modul runtime .NET.
Aplikaci .NET Core je možné publikovat jako samostatné nasazení nebo nasazení závislé na rozhraní. Pokud je aplikace samostatná, soubory sestavení, které obsahují modul runtime .NET, jsou zahrnuty ve složce publikování. Pokud je aplikace závislá na rozhraní, soubory modulu runtime .NET nejsou zahrnuty, protože aplikace obsahuje odkaz na verzi rozhraní .NET, která je nainstalovaná na serveru. Výchozí model nasazení je závislý na rozhraní. Další informace najdete v tématu Nasazení aplikace .NET Core.
Kromě souborů .exe a .dll obsahuje složka publikování pro aplikaci ASP.NET Core obvykle konfigurační soubory, statické prostředky a zobrazení MVC. Další informace naleznete v tématu struktura ASP.NET Core directory.
Nastavení správce procesů
Aplikace ASP.NET Core konzolová aplikace, která se musí spustit při spuštění a restartování serveru, pokud dojde k chybě. K automatizaci spuštění a restartování se vyžaduje správce procesů. Nejběžnějšími správci procesů pro ASP.NET Core jsou:
- Linux
- Windows
Nastavení reverzního proxy serveru
Pokud aplikace používá Kestrel server, můžete Nginx, Apachenebo IIS použít jako reverzní proxy server. Reverzní proxy server přijímá požadavky HTTP z internetu a předává je do Kestrel .
Konfigurace s — reverzní konfigurací nebo proxy server je — podporovaná konfigurace hostování. Další informace najdete v tématu Kdy použít s Kestrel reverzním proxy serverem.
Scénáře proxy serveru a nástroje pro vyrovnávání zatížení
Pro aplikace hostované za proxy servery a nástroji pro vyrovnávání zatížení může být vyžadována další konfigurace. Bez další konfigurace může aplikace mít přístup ke schématu (HTTP/HTTPS) a vzdálené IP adrese, kde požadavek vznikl. další informace najdete v tématu konfigurace ASP.NET Core pro práci se servery proxy a nástroji pro vyrovnávání zatížení.
automatizace nasazení pomocí Visual Studio a MSBuild
Nasazení často vyžaduje další úlohy kromě kopírování výstupu z dotnet Publish na server. Například další soubory mohou být vyžadovány nebo vyloučeny ze složky pro publikování . Visual Studio používá MSBuild pro nasazení webu a MSBuild lze přizpůsobit tak, aby během nasazování provedl mnoho dalších úloh. další informace naleznete v tématu Visual Studio publikování profilů (.pubxml) pro ASP.NET Core nasazení aplikací a v příručce pro sestavení pomocí MSBuild a Team Foundation .
pomocí funkce publikovat Webje možné aplikace nasadit přímo z Visual Studio do Azure App Service. Azure DevOps Services podporuje průběžné nasazování do Azure App Service. další informace najdete v tématu DevOps pro ASP.NET Core vývojáře.
Publikování do Azure
Publikování ASP.NET Core aplikace do Azure pomocí Visual StudioPokyny k publikování aplikace do Azure pomocí Visual Studio najdete v tématu. k dispozici je další příklad vytvoření webové aplikace ASP.NET Core v Azure.
Publikování pomocí MSDeploy na Windows
Visual Studio publikování profilů (.pubxml) pro ASP.NET Core nasazení aplikacípokyny k publikování aplikace s Visual Studio publikační profil, včetně příkazového řádku Windows pomocí příkazu dotnet msbuild , najdete v tématu.
Internet Information Services (IIS)
pro nasazení, která Internetová informační služba (IIS) s konfigurací poskytovanou souborem web.config , se podívejte na články v části hostování ASP.NET Core v Windows se službou IIS .
Hostování ve webové farmě
informace o konfiguraci pro hostování ASP.NET Core aplikací v prostředí webové farmy (například nasazení více instancí aplikace v rámci škálovatelnosti) najdete v tématu Hostování ASP.NET Core ve webové farmě .
Hostitel v Docker
Další informace naleznete v tématu Hostování ASP.NET Core v kontejnerech Dockeru.