Distribuera en C# ASP.NET-webbapp till en virtuell dator i Azure Stack Hub

Du kan skapa en virtuell dator (VM) som värd för din C#-ASP.NET webbapp i Azure Stack Hub. Den här artikeln visar hur du konfigurerar servern, konfigurerar den som värd för din C#-ASP.NET webbapp och distribuerar sedan appen direkt från Visual Studio.

Den här artikeln handlar om att använda Azure Stack Hub. Du kan köra Azure i ditt datacenter med hjälp av Azure Stack Hub. Om du letar efter vägledning för globala Azure kan du läsa Publicera en ASP.NET Core-app till Azure med Visual Studio.

Förutsättningar

Ingen

Skapa en virtuell dator

Skapa en virtuell dator och installera sedan de komponenter som du behöver som värd för .NET-webbappen. Du behöver IIS-hanteringskonsolen, webbhanteringstjänsten, .NET-körningen och Microsoft Web Deploy på den virtuella datorn. Du måste öppna portarna för webbservern och för Webbdistribution från utvecklingsdatorn. När du installerar .NET-körningen kontrollerar du att du använder samma version av .NET på både målservern och utvecklingsdatorn.

  1. Skapa en virtuell Windows Server-dator.

  2. Om du vill installera komponenterna IIS (med hanteringskonsolen) och .NET 5.0 på den virtuella datorn kör du följande skript i PowerShell 5.x-konsolen:

    # Install IIS (with Management Console)
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Install Web Management Service
    Install-WindowsFeature -Name Web-Mgmt-Service
    
  3. Ladda ned .NET 5.0 på den virtuella datorn.

  4. Ladda ned Web Deploy v3.6. Installera den från MSI-filen och aktivera sedan alla funktioner.

  5. I Azure Stack Hub-portalen öppnar du portarna som visas i nätverksinställningarna för den virtuella datorn.

    a. Öppna Azure Stack Hub-portalen för din klientorganisation.

    b. Search för den virtuella datorn. Du kan ha fäst den virtuella datorn på instrumentpanelen eller söka efter den i rutan Search resurser.

    c. Välj Nätverk.

    d. Välj Lägg till regel för inkommande portar under virtuell dator.

    e. Lägg till en regel för inkommande säkerhet för följande portar:

    Port Protokoll Description
    80 HTTP Hypertext Transfer Protocol (HTTP) är det protokoll som används för att leverera webbsidor från servrar. Klienter ansluter via HTTP med ett DNS-namn eller en IP-adress.
    443 HTTPS Hypertext Transfer Protocol Secure (HTTPS) är en säker version av HTTP som kräver ett säkerhetscertifikat och möjliggör krypterad överföring av information.
    22 SSH Secure Shell (SSH) är ett krypterat nätverksprotokoll för säker kommunikation. Du använder den här anslutningen med en SSH-klient för att konfigurera den virtuella datorn och distribuera appen.
    3389 RDP Valfritt. Med protokollet Fjärrskrivbord kan en fjärrskrivbordsanslutning använda ett grafiskt användargränssnitt på datorn.
    8172 Anpassat Porten som används av Web Deploy.

    För varje port:

    a. För Källa väljer du Alla.

    b. För Källportintervall skriver du en asterisk (*).

    c. Som Mål väljer du Alla.

    d. För Målportintervall lägger du till den port som du vill öppna.

    e. För Protokoll väljer du Alla.

    f. I fältet Åtgärd väljer du Tillåt.

    ex. För Prioritet lämnar du standardvalet.

    h. Ange ett namn och en beskrivning som hjälper dig att komma ihåg varför porten är öppen.

    i. Välj Lägg till.

  6. I Översiktsinställningarna för den virtuella datorn i Azure Stack Hub skapar du ett DNS-namn för servern. Användare kan ansluta till din webbplats med hjälp av URL:en.

    a. Öppna Azure Stack Hub-portalen för din klientorganisation.

    b. Search för den virtuella datorn. Du kan ha fäst den virtuella datorn på instrumentpanelen eller söka efter den i rutan Search resurser.

    c. Välj Översikt.

    d. Under DNS väljer du Konfigurera.

    e. För Tilldelning väljer du Dynamisk.

    f. Ange DNS-namnetiketten, till exempel mywebapp, så att din fullständiga URL blir något som liknar mywebapp.region.cloudapp.azurestack.corp.contoso.com.

Skapa en app

Du kan använda .NET-standardappen i Visual Studio, din egen webbapp, ett exempel i Publicera en ASP.NET Core app till Azure med Visual Studio. Artikeln beskriver hur du skapar och publicerar en ASP.NET webbapp till en virtuell Azure-dator med hjälp av publiceringsfunktionen för Azure Virtual Machines i Visual Studio 2019. När du har installerat och kontrollerat att appen körs lokalt uppdaterar du publiceringsmålet till den virtuella Windows-datorn i din Azure Stack Hub-instans.

Distribuera och kör appen

Skapa ett publiceringsmål från utvecklingsdatorn till den virtuella datorn i Azure Stack Hub.

  1. I Solution Explorer högerklickar du på projektet och väljer sedan Publicera.

    Distribuera en ASP.NET webbapp till Azure Stack Hub-publicering

  2. I fönstret Publicera väljer du Ny.

  3. Välj Webbserver (IIS).

  4. Välj Nästa>webbdistribution>nästa.

  5. För Server anger du det DNS-namn som du definierade tidigare, till exempel mywebapp.region.cloudapp.azurestack.corp.contoso.com.

  6. Som Webbplatsnamn anger du Default Web Siteeller det namn som används i IIS på målservern.

  7. Som Användarnamn anger du användarnamnet för datorn.

  8. För Lösenord anger du lösenordet för datorn.

  9. För Mål-URL anger du URL:en för webbplatsen, till exempel http://mywebapp.region.cloudapp.azurestack.corp.contoso.com.

    Distribuera en ASP.NET webbapp – konfigurera webbdistribution

  10. Om du vill verifiera konfigurationen för webbdistribution väljer du Verifiera anslutning och väljer sedan Nästa.

  11. Ange Konfiguration som version.

  12. Ange Target Framework som net5.0.

  13. Ange Distributionsläge som Ramverksberoende.

  14. Ange Target Runtime som win-x64.

  15. Välj Spara.

  16. Välj Publicera. Du bör se följande utdata i konsolen i Visual Studio:

    Publish Succeeded.
    Web App was published successfully http://mywebapp.region.cloudapp.azurestack.corp.contoso.com/
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    ========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
    
  17. Gå till den nya servern. Du bör se din webbapp som körs.

    mywebapp.region.cloudapp.azurestack.corp.contoso.com