Bewerken

Delen via


Een C#-ASP.NET-web-app implementeren op een VIRTUELE machine in Azure Stack Hub

U kunt een virtuele machine (VM) maken om uw C#-ASP.NET-web-app te hosten in Azure Stack Hub. In dit artikel leest u hoe u uw server instelt, configureert om uw C#-ASP.NET-web-app te hosten en vervolgens de app rechtstreeks vanuit Visual Studio implementeert.

Dit artikel gaat over het gebruik van Azure Stack Hub. U kunt Azure uitvoeren in uw datacenter met behulp van Azure Stack Hub. Als u op zoek bent naar richtlijnen voor globale Azure, raadpleegt u Een ASP.NET Core-app publiceren naar Azure met Visual Studio.

Vereisten

Geen

Een VIRTUELE machine maken

Maak een VIRTUELE machine en installeer vervolgens de onderdelen die u nodig hebt om uw .NET-web-app te hosten. U hebt de IIS-beheerconsole, webbeheerservice, .NET-runtime en Microsoft Web Deploy op uw VIRTUELE machine nodig. U moet de poorten voor uw webserver en voor Web Deploy openen vanaf uw ontwikkelcomputer. Zorg er bij het installeren van de .NET-runtime voor dat u dezelfde versie van .NET gebruikt op uw doelserver en ontwikkelcomputer.

  1. Maak een Virtuele Windows Server-machine.

  2. Voer het volgende script uit in de PowerShell 5.x-console om de IIS-onderdelen (met beheerconsole) en .NET 5.0-onderdelen op uw VIRTUELE machine te installeren:

    # Install IIS (with Management Console)
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Install Web Management Service
    Install-WindowsFeature -Name Web-Mgmt-Service
    
  3. Download .NET 5.0 op uw VIRTUELE machine.

  4. Download Web Deploy v3.6. Installeer het vanuit het MSI-bestand en schakel vervolgens alle functies in.

  5. Open in de Azure Stack Hub-portal de poorten die worden vermeld in de netwerkinstellingen voor uw VIRTUELE machine.

    a. Open de Azure Stack Hub-portal voor uw tenant.

    b. Zoek uw VIRTUELE machine. Mogelijk hebt u de virtuele machine vastgemaakt aan uw dashboard of kunt u ernaar zoeken in het vak Resources zoeken.

    c. Selecteer Netwerken.

    d. Selecteer Regel voor binnenkomende poort toevoegen onder VM.

    e. Voeg een beveiligingsregel voor binnenkomend verkeer toe voor de volgende poorten:

    Poort Protocol Beschrijving
    80 HTTP Hypertext Transfer Protocol (HTTP) is het protocol dat wordt gebruikt voor het leveren van webpagina's van servers. Clients maken verbinding via HTTP met een DNS-naam of IP-adres.
    443 HTTPS Hypertext Transfer Protocol Secure (HTTPS) is een beveiligde versie van HTTP waarvoor een beveiligingscertificaat is vereist en waarmee de versleutelde overdracht van informatie mogelijk is.
    22 SSH Secure Shell (SSH) is een versleuteld netwerkprotocol voor beveiligde communicatie. U gebruikt deze verbinding met een SSH-client om de VIRTUELE machine te configureren en de app te implementeren.
    3389 RDP Optioneel. Met Het Remote Desktop Protocol kan een verbinding met een extern bureaublad een grafische gebruikersinterface van uw computer gebruiken.
    8172 Aanpassen De poort die wordt gebruikt door Web Deploy.

    Voor elke poort:

    a. Voor Bron selecteert u Any.

    b. Voor bronpoortbereik typt u een sterretje (*).

    c. Voor Bestemming selecteert u Any.

    d. Voeg voor het doelpoortbereik de poort toe die u wilt openen.

    e. Voor Protocol selecteert u Any.

    f. Bij Actie selecteert u Toestaan.

    g. Laat voor Prioriteit de standaardselectie staan.

    h. Voer een naam en beschrijving in om u te helpen onthouden waarom de poort is geopend.

    i. Selecteer Toevoegen.

  6. Maak in de overzichtsinstellingen voor uw virtuele machine in Azure Stack Hub een DNS-naam voor uw server. Gebruikers kunnen verbinding maken met uw website via de URL.

    a. Open de Azure Stack Hub-portal voor uw tenant.

    b. Zoek uw VIRTUELE machine. Mogelijk hebt u de virtuele machine vastgemaakt aan uw dashboard of kunt u ernaar zoeken in het vak Resources zoeken.

    c. Selecteer Overzicht.

    d. Selecteer Onder DNS de optie Configureren.

    e. Selecteer Dynamisch voor Toewijzing.

    f. Voer het DNS-naamlabel in, zoals mywebapp, zodat uw volledige URL ongeveer mywebapp.region.cloudapp.azurestack.corp.contoso.com wordt.

Een app maken

U kunt de standaard .NET-app gebruiken in Visual Studio, uw eigen web-app, een voorbeeld bij Een ASP.NET Core-app publiceren naar Azure met Visual Studio. In het artikel wordt beschreven hoe u een ASP.NET-web-app maakt en publiceert naar een virtuele Azure-machine met behulp van de publicatiefunctie van Azure Virtual Machines in Visual Studio 2019. Nadat u de app hebt geïnstalleerd en ervoor hebt gezorgd dat uw app lokaal wordt uitgevoerd, werkt u het publicatiedoel bij naar de Windows-VM in uw Azure Stack Hub-exemplaar.

De app implementeren en uitvoeren

Maak een publicatiedoel van uw ontwikkelcomputer naar uw VM in Azure Stack Hub.

  1. Klik in Solution Explorer met de rechtermuisknop op uw project en selecteer Publiceren.

    Een ASP.NET-web-app implementeren in Azure Stack Hub publiceren

  2. Selecteer Nieuw in het venster Publiceren.

  3. Selecteer Webserver (IIS).

  4. Selecteer Volgende>web implementeren>volgende.

  5. Voer voor Server de DNS-naam in die u eerder hebt gedefinieerd, zoals mywebapp.region.cloudapp.azurestack.corp.contoso.com.

  6. Voer Default Web Sitevoor de sitenaam of de naam in die wordt gebruikt in IIS op de doelserver.

  7. Voer bij Gebruikersnaam de gebruikersnaam voor de computer in.

  8. Voer voor Wachtwoord het wachtwoord voor de computer in.

  9. Voer voor de doel-URL de URL voor de site in, zoals http://mywebapp.region.cloudapp.azurestack.corp.contoso.com.

    Een ASP.NET-web-app implementeren - Web deploy configureren

  10. Als u de configuratie voor web-implementatie wilt valideren, selecteert u De verbinding valideren en selecteert u vervolgens Volgende.

  11. Stel de configuratie in als release.

  12. Stel Target Framework in als net5.0.

  13. Stel de implementatiemodus in als frameworkafhankelijk.

  14. Stel Target Runtime in als win-x64.

  15. Selecteer Save.

  16. Selecteer Publiceren. U ziet nu de volgende uitvoer in uw console in 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. Ga naar de nieuwe server. Als het goed is, ziet u de actieve webtoepassing.

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