Megosztás a következőn keresztül:


ASP.NET Core hosztolása és üzembe helyezése

Jegyzet

Ez nem a cikk legújabb verziója. Az aktuális kiadáshoz tekintse meg a cikk .NET 9-es verzióját.

Figyelmeztetés

A ASP.NET Core ezen verziója már nem támogatott. További információ: .NET és .NET Core támogatási szabályzat. Az aktuális kiadásról a .NET 9-es verzióban található információt ennek a cikknek a részébentalálja.

Fontos

Ezek az információk egy olyan előzetes termékre vonatkoznak, amelyet a kereskedelmi forgalomba kerülés előtt jelentősen módosíthatnak. A Microsoft nem vállal kifejezett vagy hallgatólagos szavatosságot az itt megadott információkra vonatkozóan.

Az aktuális kiadást a jelen cikk .NET 9-es verziójában.

Általában egy ASP.NET Core-alkalmazás üzembe helyezése üzemeltetési környezetben:

  • Helyezze üzembe a közzétett alkalmazást az üzemeltetési kiszolgáló egyik mappájában.
  • Állítson be egy folyamatkezelőt, amely a kérések érkezésekor indítja el az alkalmazást, és az összeomlás vagy a kiszolgáló újraindítása után újraindítja az alkalmazást.
  • Fordított proxy konfigurálásához állítson be egy fordított proxyt a kérések alkalmazásnak való továbbításához.

Ha Blazor gazdagépre és üzembe helyezésre vonatkozó útmutatást szeretne, amely hozzáadja vagy felülírja a csomópont útmutatását, olvassa el Gazdagép és üzembe helyezés ASP.NET Core Blazorcímű témakört.

Közzététel egy mappába

A dotnet publish parancs lefordítja az alkalmazáskódot, és átmásolja az alkalmazás futtatásához szükséges fájlokat egy közzétételi mappába. A Visual Studióból történő üzembe helyezéskor a dotnet publish lépés automatikusan megtörténik, mielőtt a fájlok át lesznek másolva az üzembehelyezési célhelyre.

A közzétett alkalmazás helyi futtatása

A közzétett alkalmazás helyi futtatásához futtassa a dotnet <ApplicationName>.dll programot a kiadási mappából.

Beállításfájlok közzététele

*.json fájlok alapértelmezés szerint közzé vannak téve. Más beállításfájlok közzétételéhez adja meg őket egy <ItemGroup><Content Include= ... /> elemben a projektfájlban. Az alábbi példa XML-fájlokat tesz közzé:

<ItemGroup>
  <Content Include="**\*.xml" Exclude="bin\**\*;obj\**\*"
    CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

Mappa tartalma

A közzétételi mappa egy vagy több alkalmazásszerelvényfájlt, függőséget és opcionálisan .NET-futtatókörnyezetet tartalmaz.

A .NET Core-alkalmazásokat közzé lehet tenni önálló üzembe helyezésként vagy keretrendszerfüggő üzembe helyezésként. Ha az alkalmazás önálló, a .NET futtatókörnyezetet tartalmazó szerelvényfájlok a publikálási mappába kerülnek. Ha az alkalmazás keretrendszerfüggő, a .NET-futtatókörnyezet fájljai nem lesznek benne, mert az alkalmazás a kiszolgálón telepített .NET-verzióra hivatkozik. Az alapértelmezett üzemi modell keretrendszerfüggő. További információért lásd: .NET Core alkalmazás telepítési.

A .exe és .dll fájlok mellett a mappát is közzéteheti egy ASP.NET Core-alkalmazáshoz, amely általában konfigurációs fájlokat, statikus objektumokat és MVC-nézeteket tartalmaz. További információ: ASP.NET Core-címtárstruktúra.

Folyamatkezelő beállítása

A ASP.NET Core-alkalmazások olyan konzolalkalmazások, amelyeket a kiszolgáló indításakor és összeomlása esetén újra kell indítani. Az indítások és újraindítások automatizálásához folyamatkezelőre van szükség. A ASP.NET Core leggyakoribb folyamatkezelői a következők:

Fordított proxy beállítása

Ha az alkalmazás a Kestrel kiszolgálót használja, Nginxvagy IIS használható fordított proxykiszolgálóként. A fordított proxykiszolgáló http-kéréseket fogad az internetről, és továbbítja őket Kestrel.

Akár fordított proxykiszolgálóval, akár anélkül, mindkét konfiguráció támogatott tárhely-konfiguráció. További információért lásd: Mikor használjunk Kestrel fordított proxyval.

Az egyik konfiguráció – akár fordított proxykiszolgálóval, akár anélkül – támogatott üzemeltetési konfiguráció. További információkért lásd: , mikor érdemes Kestrel-t fordított proxyval használni.

Proxykiszolgáló és terheléselosztó forgatókönyvek

További konfigurációra lehet szükség a proxykiszolgálók és a terheléselosztók mögött üzemeltetett alkalmazásokhoz. További konfiguráció nélkül előfordulhat, hogy egy alkalmazás nem fér hozzá a sémához (HTTP/HTTPS) és a távoli IP-címhez, ahonnan a kérés származik. További információ: A ASP.NET Core konfigurálása proxykiszolgálókkal és terheléselosztókkal.

A Visual Studio és az MSBuild használata az üzembe helyezés automatizálásához

Az üzembe helyezéshez gyakran további feladatokra van szükség a kimenet dotnet közzétételi kiszolgálóra másolása mellett. Előfordulhat például, hogy további fájlokra van szükség, vagy ki vannak zárva a közzétételi mappából. A Visual Studio MSBuild használ a webes üzembe helyezéshez, és az MSBuild számos más feladat elvégzésére is testre szabható az üzembe helyezés során. További információ: Visual Studio-közzétételi profilok (.pubxml) az ASP.NET Core-alkalmazások üzembe helyezési és a Az MSBuild és a Team Foundation buildelési könyvével.

A használatával a Webes közzététel funkció alkalmazások közvetlenül a Visual Studióból az Azure App Service-be telepíthetők. Az Azure DevOps Services támogatja a folyamatos üzembe helyezést az Azure App Service szolgáltatásba. További információ: DevOps ASP.NET Core fejlesztők számára.

Közzététel az Azure-ban

Tekintse meg a(z) számú útmutatást az ASP.NET Core-alkalmazás Visual Studio használatával történő közzétételéről az Azure-ban, hogy megtudja, hogyan teheti közzé az alkalmazását az Azure-ban a Visual Studio-val. További példát a „Hogyan hozhatunk létre egy ASP.NET Core-webalkalmazást az Azure-ban”adja.

Közzététel AZ MSDeploy használatával Windows rendszeren

Az Visual Studio közzétételi profiljaival (.pubxml) ASP.NET Core-alkalmazások központi telepítésének útmutatást talál az alkalmazások Visual Studio-közzétételi profillal való közzétételéhez, beleértve a Windows parancssorát is a dotnet msbuild parancs használatával.

Internet Information Services (IIS)

Az Internet Information Services (IIS) web.config fájl által biztosított konfigurációval történő üzembe helyezésével kapcsolatban tekintse meg Gazdagép ASP.NET Core on Windows és IIScímű témakör cikkeit.

Szerver egy webfarmban

Az ASP.NET Core-alkalmazások webfarm környezetben való üzemeltetésének konfigurációjáról (például az alkalmazás több példányának üzembe helyezéséről a méretezhetőség érdekében) lásd: ASP.NET Core üzemeltetése webfarm környezetben.

Gazdagép a Dockerben

További információ: Gazdagép ASP.NET Core a Docker-tárolókban.

Állapotellenőrzések végrehajtása

Az Állapotellenőrzés köztes szoftver használatával állapotellenőrzéseket végezhet egy alkalmazáson és annak függőségeien. További információért tekintse meg a Rendszerellenőrzések az ASP.NET Core-ban.

További erőforrások

Általában egy ASP.NET Core-alkalmazás üzembe helyezése üzemeltetési környezetben:

  • Helyezze üzembe a közzétett alkalmazást az üzemeltetési kiszolgáló egyik mappájában.
  • Állítson be egy folyamatkezelőt, amely a kérések érkezésekor indítja el az alkalmazást, és az összeomlás vagy a kiszolgáló újraindítása után újraindítja az alkalmazást.
  • Fordított proxy konfigurálásához állítson be egy fordított proxyt a kérések alkalmazásnak való továbbításához.

Közzététel egy mappába

A dotnet publish parancs lefordítja az alkalmazáskódot, és átmásolja az alkalmazás futtatásához szükséges fájlokat egy közzétételi mappába. A Visual Studióból történő üzembe helyezéskor a dotnet publish lépés automatikusan megtörténik, mielőtt a fájlok át lesznek másolva az üzembehelyezési célhelyre.

Mappa tartalma

A közzétételi mappa egy vagy több alkalmazásszerelvényfájlt, függőséget és opcionálisan .NET-futtatókörnyezetet tartalmaz.

A .NET Core-alkalmazások közzétehetők önálló üzembe helyezési vagy keretrendszerfüggő üzembe helyezési. Ha az alkalmazás önállóan futó, a .NET-futtatókörnyezetet tartalmazó szerelvényfájlok a közzétételi mappában vannak mellékelve. Ha az alkalmazás keretrendszerfüggő, a .NET-futtatókörnyezet fájljai nem lesznek benne, mert az alkalmazás a kiszolgálón telepített .NET-verzióra hivatkozik. Az alapértelmezett üzemi modell keretrendszerfüggő. További információért lásd: a .NET Core alkalmazás telepítése.

A .exe és .dll fájlok mellett a mappát is közzéteheti egy ASP.NET Core-alkalmazáshoz, amely általában konfigurációs fájlokat, statikus objektumokat és MVC-nézeteket tartalmaz. További információ: ASP.NET Core-címtárstruktúra.

Folyamatkezelő beállítása

A ASP.NET Core-alkalmazások olyan konzolalkalmazások, amelyeket a kiszolgáló indításakor és összeomlása esetén újra kell indítani. Az indítások és újraindítások automatizálásához folyamatkezelőre van szükség. A ASP.NET Core leggyakoribb folyamatkezelői a következők:

Fordított proxy beállítása

Ha az alkalmazás a Kestrel kiszolgálót használja, Nginxvagy IIS használható fordított proxykiszolgálóként. A fordított proxykiszolgáló http-kéréseket fogad az internetről, és továbbítja őket Kestrel.

Az üzemeltetési konfiguráció – akár fordított proxykiszolgálóval, akár anélkül – támogatott. További információért lásd: , mikor használjuk a Kestrel-et fordított proxyval,.

Proxykiszolgáló és terheléselosztó forgatókönyvek

További konfigurációra lehet szükség a proxykiszolgálók és a terheléselosztók mögött üzemeltetett alkalmazásokhoz. További konfiguráció nélkül előfordulhat, hogy egy alkalmazás nem fér hozzá a sémához (HTTP/HTTPS) és a távoli IP-címhez, ahonnan a kérés származik. További információ: A ASP.NET Core konfigurálása proxykiszolgálókkal és terheléselosztókkal.

A Visual Studio és az MSBuild használata az üzembe helyezés automatizálásához

Az üzembe helyezéshez gyakran további feladatokra van szükség a kimenet dotnet közzétételi kiszolgálóra másolása mellett. Előfordulhat például, hogy további fájlokra lehet szükség, vagy kizárhatók a mappából. A Visual Studio az MSBuildet használja a webes üzembe helyezéshez, az MSBuild pedig testre szabható, hogy sok más feladatot is elvégezhessenek az üzembe helyezés során. További információ: Visual Studio-közzétételi profilok (.pubxml) az ASP.NET Core-alkalmazások üzembe helyezési és a Az MSBuild és a Team Foundation buildelési könyvével.

A Webes közzététel funkcióhasználatával az alkalmazások közvetlenül a Visual Studióból az Azure App Service-be helyezhetők üzembe. Az Azure DevOps Services támogatja az Azure App Servicefolyamatos üzembe helyezését . További információért lásd: DevOps az ASP.NET Core fejlesztők számára.

Közzététel az Azure-ban

Lásd a "ASP.NET Core-alkalmazás közzététele az Azure-ban a Visual Studio használatával" című útmutatást az alkalmazás Azure-ban való közzétételéhez. További példát ASP.NET Core-webalkalmazás létrehozása az Azure.

Közzététel AZ MSDeploy használatával Windows rendszeren

Nézze meg az Visual Studio közzétételi profilokat (.pubxml) az ASP.NET Core alkalmazás telepítéséhez, ahol útmutatást talál arról, hogyan telepíthet egy alkalmazást Visual Studio közzétételi profillal, beleértve a Windows parancssorból való telepítést a dotnet msbuild parancs használatával.

Internet Information Services (IIS)

Az Internet Information Services (IIS) web.config fájl által biztosított konfigurációval történő telepítéséhez tekintse meg a ASP.NET Core Windows-on IIS-sel való üzemeltetését tárgyaló cikkeket.

Szerver egy webfarmban

Az ASP.NET Core-alkalmazások webfarm-környezetben való üzemeltetése (például az alkalmazás több példányának üzembe helyezése a méretezhetőség érdekében) konfigurációjával kapcsolatos információkért lásd: ASP.NET Core üzemeltetése webfarmban.

Hosztolás Dockerrel

További információért tekintse meg: ASP.NET Core tárolása Docker-konténerekben.

További erőforrások