Delen via


Een Node.js-toepassing bouwen en implementeren in een Azure Cloud Service (klassiek)

Belangrijk

Cloud Services (klassiek) is nu afgeschaft voor nieuwe klanten en wordt op 31 augustus 2024 buiten gebruik gesteld voor alle klanten. Nieuwe implementaties moeten gebruikmaken van het nieuwe op Azure Resource Manager gebaseerde implementatiemodel Azure Cloud Services (uitgebreide ondersteuning).

Deze zelfstudie laat zien hoe u een Node.js toepassing maakt die wordt uitgevoerd in een Azure-cloudservice. Cloud Services vormen de bouwstenen van schaalbare cloudtoepassingen in Azure. Deze bieden de mogelijkheid om de front-end- en back-end-onderdelen van uw toepassing te scheiden en onafhankelijk van elkaar te beheren en uit te schalen. Cloud Services bieden een robuuste toegewezen virtuele machine voor het op betrouwbare wijze hosten van elke rol.

Tip

Wilt u een website bouwen? Als uw scenario alleen een ongecompliceerde website-front-end omvat, kunt u overwegen een eenvoudige web-app-functie te gebruiken. U kunt vervolgens gemakkelijk upgraden naar een cloudservice naarmate uw web-app groeit en uw vereisten veranderen.

Door deze zelfstudie te volgen, bouwt u een webtoepassing die wordt gehost in een webrol. U gebruikt de rekenemulator om uw toepassing lokaal te testen en vervolgens te implementeren met behulp van PowerShell-opdrachtregelprogramma's.

De toepassing is een 'hallo wereld'-toepassing:

Een webbrowser waarin de webpagina 'Hallo wereld' wordt weergegeven

Vereisten

Notitie

In deze zelfstudie wordt Azure PowerShell gebruikt waarvoor Windows is vereist.

  • Azure PowerShell installeren en configureren.
  • Download en installeer de [Azure SDK voor .NET 2.7]. Selecteer in de installatie-installatie het volgende:
    • MicrosoftAzureAuthoringTools
    • MicrosoftAzureComputeEmulator

Een Azure Cloud Service-project maken

Voer de volgende taken uit om een nieuw Azure Cloud Services-project te maken, samen met een Node.js-basisstructuur:

  1. Voer Windows PowerShell als administrator uit. Zoek in het Startmenu of Startscherm naar Windows PowerShell.

  2. Koppel PowerShell aan uw abonnement.

  3. Voer de volgende PowerShell-cmdlet in om het project te maken:

    New-AzureServiceProject helloworld
    

    Het resultaat van de helloworld-opdracht New-AzureService

    De New-AzureServiceProject-cmdlet genereert een basisstructuur voor het publiceren van een Node.js-toepassing naar een cloudservice. Deze bevat configuratiebestanden die nodig zijn voor publicatie naar Azure. De cmdlet wijzigt ook uw werkmap naar de map voor de service.

    De cmdlet maakt de volgende bestanden:

    • ServiceConfiguration.Cloud.cscfg, ServiceConfiguration.Local.cscfg en ServiceDefinition.csdef: Azure-specifieke bestanden die nodig zijn voor het publiceren van uw toepassing. Zie Overzicht van het maken van een gehoste service voor Azure.
    • deploymentSettings.json: lokale instellingen die worden gebruikt door de Azure PowerShell-cmdlets voor implementatie.
  4. Voer de volgende opdracht in om een nieuwe webrol toe te voegen:

    Add-AzureNodeWebRole
    

    De uitvoer van de opdracht Add-AzureNodeWebRole

    De Add-AzureNodeWebRole-cmdlet maakt een eenvoudige Node.js-toepassing. Ook worden de .csfg- en .csdef-bestanden aangepast met configuratie-items voor de nieuwe rol.

    Notitie

    Als u geen rolnaam opgeeft, wordt een standaardnaam gebruikt. U kunt een naam opgeven als de eerste parameter van de cmdlet: Add-AzureNodeWebRole MyRole

De Node.js-app is gedefinieerd in het bestand server.js, dat zich bevindt in de map voor de webrol (standaard WebRole1). Hier volgt de code:

var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(port);

Deze code is in wezen hetzelfde als het testitem 'Hallo wereld' op de nodejs.org-website, behalve dat het poortnummer wordt gebruikt dat is toegewezen door de cloudomgeving.

De app implementeren in Azure

Notitie

U hebt een Azure-account nodig om deze zelfstudie te voltooien. U kunt uw voordelen als MSDN-abonnee activeren of u aanmelden voor een gratis account.

De Azure-publicatie-instellingen downloaden

Voor het implementeren van uw toepassing naar Azure moet u eerst de publicatie-instellingen voor uw Azure-abonnement downloaden.

  1. Voer de volgende Azure PowerShell-cmdlet uit:

    Get-AzurePublishSettingsFile
    

    Met deze opdracht wordt uw browser gebruikt om naar de downloadpagina voor publicatie-instellingen te navigeren. U wordt mogelijk gevraagd u aan te melden met een Microsoft-account. Als dit het geval is, gebruikt u het account dat is gekoppeld aan uw Azure-abonnement.

    Sla het gedownloade profiel op naar een bestandslocatie waar u gemakkelijk bij kunt.

  2. Voer de volgende cmdlet uit om het publicatieprofiel te importeren dat u hebt gedownload:

    Import-AzurePublishSettingsFile [path to file]
    

    Notitie

    Na het importeren van de publicatie-instellingen is het raadzaam het gedownloade .publishSettings-bestand te verwijderen, omdat dit informatie bevat die iemand toegang zou kunnen geven tot uw account.

De toepassing publiceren

Voer de volgende opdrachten uit om de toepassing te publiceren:

$ServiceName = "NodeHelloWorld" + $(Get-Date -Format ('ddhhmm'))
Publish-AzureServiceProject -ServiceName $ServiceName  -Location "East US" -Launch
  • -ServiceName is de naam voor de implementatie. Deze waarde moet een unieke naam zijn; anders mislukt het publicatieproces. De Get-Date-opdracht voegt een datum/tijd-tekenreeks toe die de naam uniek zou moeten maken.
  • -Locatie geeft het datacenter op dat als host fungeert voor de toepassing. Gebruik de Get-AzureLocation- cmdlet als u een lijst van beschikbare datacenters wilt bekijken.
  • -Start opent een browservenster en navigeert naar de gehoste service nadat de implementatie is voltooid.

Nadat het publiceren is voltooid, ziet u een antwoord dat lijkt op de schermopname:

The output of the Publish-AzureService command

Notitie

Het kan enkele minuten duren voordat de toepassing is geïmplementeerd en beschikbaar is wanneer dit de eerste keer is dat de toepassing wordt gepubliceerd.

Zodra de implementatie is voltooid, wordt er een browservenster geopend en gaat u naar de cloudservice.

Een browservenster met de Hello World-pagina. De URL geeft aan dat de pagina wordt gehost in Azure.

Uw toepassing wordt nu uitgevoerd in Azure.

De Publish-AzureServiceProject-cmdlet voert de volgende stappen uit:

  1. Er wordt een implementatiepakket gemaakt. Het pakket bevat alle bestanden in de toepassingsmap.
  2. Hiermee maakt u een nieuw opslagaccount als deze niet bestaat. Het Azure-opslagaccount wordt gebruikt voor het opslaan van het toepassingspakket tijdens de implementatie. U kunt het opslagaccount gewoon verwijderen nadat de implementatie is voltooid.
  3. Hiermee maakt u een nieuwe cloudservice als deze nog niet bestaat. Een cloudservice is de container waarin uw toepassing wordt gehost wanneer deze in Azure wordt geïmplementeerd. Zie Overzicht van het maken van een gehoste service voor Azure.
  4. Het implementatiepakket wordt gepubliceerd naar Azure.

De toepassing stoppen en verwijderen

Nadat u uw toepassing hebt geïmplementeerd, wilt u deze mogelijk uitschakelen om extra kosten te vermijden. Webrolexemplaren in Azure worden per uur van verbruikte servertijd in rekening gebracht. De servertijd wordt verbruikt zodra uw toepassing is geïmplementeerd, zelfs als de exemplaren niet worden uitgevoerd en de status Gestopt hebben.

  1. In het Windows PowerShell-venster stopt u de service-implementatie die u in de vorige sectie hebt gemaakt, met de volgende cmdlet:

    Stop-AzureService
    

    Het kan enkele minuten duren voordat de service is gestopt. Wanneer de service is gestopt, ontvangt u een bericht waarin wordt aangegeven dat deze is gestopt.

    The status of the Stop-AzureService command

  2. Als u de service wilt verwijderen, roept u de volgende cmdlet aan:

    Remove-AzureService
    

    Wanneer dit wordt gevraagd, typt u Y om de service te verwijderen.

    Het kan enkele minuten duren voordat de service is verwijderd. Nadat u de service hebt verwijderd, ontvangt u een bericht dat de service is verwijderd.

    De status van de opdracht Remove-AzureService

    Notitie

    Als u de service verwijdert, wordt niet het opslagaccount verwijderd dat is gemaakt toen de service voor de eerste keer werd gepubliceerd, en de kosten voor gebruikte opslag worden nog wel in rekening gebracht. Als niets anders de opslag gebruikt, kunt u deze verwijderen.

Volgende stappen

Zie het Node.js-ontwikkelaarscentrum voor meer informatie.