Een Node.js-toepassing maken en implementeren in een Azure Cloud ServiceBuild and deploy a Node.js application to an Azure Cloud Service

In deze zelfstudie kunt u zien hoe u een eenvoudige Node.js-toepassing kunt maken die wordt uitgevoerd in een Azure Cloud Service.This tutorial shows how to create a simple Node.js application running in an Azure Cloud Service. Cloud Services vormen de bouwstenen van schaalbare cloudtoepassingen in Azure.Cloud Services are the building blocks of scalable cloud applications 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.They allow the separation and independent management and scale-out of front-end and back-end components of your application. Cloud Services bieden een robuuste toegewezen virtuele machine voor het op betrouwbare wijze hosten van elke rol.Cloud Services provide a robust dedicated virtual machine for hosting each role reliably.

Zie Vergelijking van Azure Websites, Cloud Services en Virtual Machines voor meer informatie over Cloud Services en hoe deze zich verhouden tot Azure Websites en Virtual Machines.For more information on Cloud Services, and how they compare to Azure Websites and Virtual machines, see [Azure Websites, Cloud Services and Virtual Machines comparison].

Tip

Wilt u een eenvoudige website bouwen?Looking to build a simple website? Als uw scenario alleen een ongecompliceerde website-front-end omvat, kunt u overwegen een eenvoudige web-app-functie te gebruiken.If your scenario involves just a simple website front-end, consider [using a lightweight web app]. U kunt vervolgens gemakkelijk upgraden naar een cloudservice naarmate uw web-app groeit en uw vereisten veranderen.You can easily upgrade to a Cloud Service as your web app grows and your requirements change.

In deze zelfstudie maakt u een eenvoudige webtoepassing gehost binnen een webrol.By following this tutorial, you will build a simple web application hosted inside a web role. U gebruikt de rekenemulator om uw toepassing lokaal te testen, en vervolgens implementeert u de toepassing met behulp van PowerShell- opdrachtregelprogramma's.You will use the compute emulator to test your application locally, then deploy it using PowerShell command-line tools.

De toepassing is een eenvoudige 'Hallo wereld'-toepassing:The application is a simple "hello world" application:

Een webbrowser waarin de webpagina 'Hallo wereld' wordt weergegeven

VereistenPrerequisites

Notitie

In deze zelfstudie wordt Azure PowerShell gebruikt waarvoor Windows is vereist.This tutorial uses Azure PowerShell, which requires Windows.

  • Installeer en configureer Azure Powershell.Install and configure Azure Powershell.
  • Download en installeer Azure SDK voor .NET 2.7.Download and install the [Azure SDK for .NET 2.7]. Selecteer in de installatie-instellingen:In the install setup, select:
    • MicrosoftAzureAuthoringToolsMicrosoftAzureAuthoringTools
    • MicrosoftAzureComputeEmulatorMicrosoftAzureComputeEmulator

Een Azure Cloud Service-project makenCreate an Azure Cloud Service project

Voer de volgende taken uit om een nieuw Azure Cloud Services-project te maken, samen met een Node.js-basisstructuur:Perform the following tasks to create a new Azure Cloud Service project, along with basic Node.js scaffolding:

  1. Voer Windows PowerShell als administrator uit. Zoek in het Startmenu of Startscherm naar Windows PowerShell.Run Windows PowerShell as Administrator; from the Start Menu or Start Screen, search for Windows PowerShell.
  2. Koppel PowerShell aan uw abonnement.[Connect PowerShell] to your subscription.
  3. Voer de volgende PowerShell-cmdlet in om het project te maken:Enter the following PowerShell cmdlet to create to create the project:

     New-AzureServiceProject helloworld
    

    The result of the New-AzureService helloworld command

    De New-AzureServiceProject-cmdlet genereert een basisstructuur voor het publiceren van een Node.js-toepassing naar een cloudservice.The New-AzureServiceProject cmdlet generates a basic structure for publishing a Node.js application to a Cloud Service. Deze bevat configuratiebestanden die nodig zijn voor publicatie naar Azure.It contains configuration files necessary for publishing to Azure. De cmdlet wijzigt ook uw werkmap naar de map voor de service.The cmdlet also changes your working directory to the directory for the service.

    De cmdlet maakt de volgende bestanden:The cmdlet creates the following files:

    • ServiceConfiguration.Cloud.cscfg, ServiceConfiguration.Local.cscfg en ServiceDefinition.csdef: Azure-specifieke bestanden die nodig zijn voor het publiceren van uw toepassing.ServiceConfiguration.Cloud.cscfg, ServiceConfiguration.Local.cscfg and ServiceDefinition.csdef: Azure-specific files necessary for publishing your application. Zie Overzicht van het maken van een gehoste service voor Azure.For more information, see [Overview of Creating a Hosted Service for Azure].
    • deploymentSettings.json: lokale instellingen die worden gebruikt door de Azure PowerShell-cmdlets voor implementatie.deploymentSettings.json: Stores local settings that are used by the Azure PowerShell deployment cmdlets.
  4. Voer de volgende opdracht in om een nieuwe webrol toe te voegen:Enter the following command to add a new web role:

    Add-AzureNodeWebRole
    

    The output of the Add-AzureNodeWebRole command

    De Add-AzureNodeWebRole-cmdlet maakt een eenvoudige Node.js-toepassing.The Add-AzureNodeWebRole cmdlet creates a basic Node.js application. Ook worden de .csfg- en .csdef-bestanden aangepast met configuratie-items voor de nieuwe rol.It also modifies the .csfg and .csdef files to add configuration entries for the new role.

    Notitie

    Als u geen rolnaam opgeeft, wordt een standaardnaam gebruikt.If you do not specify a role name, a default name is used. U kunt een naam opgeven als de eerste parameter van de cmdlet: Add-AzureNodeWebRole MyRoleYou can provide a name as the first cmdlet parameter: 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).The Node.js app is defined in the file server.js, located in the directory for the web role (WebRole1 by default). Dit is de code:Here is the 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.This code is essentially the same as the "Hello World" sample on the nodejs.org website, except it uses the port number assigned by the cloud environment.

De toepassing implementeren in AzureDeploy the application to Azure

Notitie

U hebt een Azure-account nodig om deze zelfstudie te voltooien.To complete this tutorial, you need an Azure account. U kunt uw voordelen als MSDN-abonnee activeren of u aanmelden voor een gratis proefversie.You can activate your MSDN subscriber benefits or sign up for a free account.

De Azure-publicatie-instellingen downloadenDownload the Azure publishing settings

Voor het implementeren van uw toepassing naar Azure moet u eerst de publicatie-instellingen voor uw Azure-abonnement downloaden.To deploy your application to Azure, you must first download the publishing settings for your Azure subscription.

  1. Voer de volgende Azure PowerShell-cmdlet uit:Run the following Azure PowerShell cmdlet:

    Get-AzurePublishSettingsFile
    

    Hierbij wordt uw browser gebruikt om te navigeren naar de downloadpagina voor publicatie-instellingen.This will use your browser to navigate to the publish settings download page. U wordt mogelijk gevraagd om aan te melden met een Microsoft-account.You may be prompted to log in with a Microsoft Account. Als dit het geval is, gebruikt u het account dat is gekoppeld aan uw Azure-abonnement.If so, use the account associated with your Azure subscription.

    Sla het gedownloade profiel op naar een bestandslocatie waar u gemakkelijk bij kunt.Save the downloaded profile to a file location you can easily access.

  2. Voer de volgende cmdlet uit om het publicatieprofiel te importeren dat u hebt gedownload:Run following cmdlet to import the publishing profile you downloaded:

    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.After importing the publish settings, consider deleting the downloaded .publishSettings file, because it contains information that could allow someone to access your account.

De toepassing publicerenPublish the application

Voer de volgende opdrachten uit om de toepassing te publiceren:To publish, run the following commands:

  $ServiceName = "NodeHelloWorld" + $(Get-Date -Format ('ddhhmm'))
Publish-AzureServiceProject -ServiceName $ServiceName  -Location "East US" -Launch
  • -ServiceName is de naam voor de implementatie.-ServiceName specifies the name for the deployment. Dit moet een unieke naam zijn, anders mislukt het publicatieproces.This must be a unique name, otherwise the publish process will fail. De Get-Date-opdracht voegt een datum/tijd-tekenreeks toe die de naam uniek zou moeten maken.The Get-Date command tacks on a date/time string that should make the name unique.
  • Met -Location geeft u het datacenter op waarin de toepassing wordt gehost.-Location specifies the datacenter that the application will be hosted in. Gebruik de Get-AzureLocation- cmdlet als u een lijst van beschikbare datacenters wilt bekijken.To see a list of available datacenters, use the Get-AzureLocation cmdlet.
  • Met -Launch opent u een browservenster en gaat u naar de gehoste service nadat de implementatie is voltooid.-Launch opens a browser window and navigates to the hosted service after deployment has completed.

Nadat de publicatie is uitgevoerd, ziet u een reactie vergelijkbaar met de volgende:After publishing succeeds, you will see a response similar to the following:

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.It can take several minutes for the application to deploy and become available when first published.

Zodra de implementatie is voltooid, wordt een browservenster geopend waarin naar de cloudservice wordt genavigeerd.Once the deployment has completed, a browser window will open and navigate to the cloud service.

A browser window displaying the hello world page; the URL indicates the page is hosted on Azure.

Uw toepassing wordt nu uitgevoerd in Azure.Your application is now running on Azure.

De Publish-AzureServiceProject-cmdlet voert de volgende stappen uit:The Publish-AzureServiceProject cmdlet performs the following steps:

  1. Er wordt een implementatiepakket gemaakt.Creates a package to deploy. Het pakket bevat alle bestanden in de toepassingsmap.The package contains all the files in your application folder.
  2. Er wordt een nieuw opslagaccount gemaakt, als dit nog niet bestaat.Creates a new storage account if one does not exist. Het Azure-opslagaccount wordt gebruikt voor het opslaan van het toepassingspakket tijdens de implementatie.The Azure storage account is used to store the application package during deployment. U kunt het opslagaccount gewoon verwijderen nadat de implementatie is voltooid.You can safely delete the storage account after deployment is done.
  3. Er wordt een nieuwe cloudservice gemaakt als deze nog niet bestaat.Creates a new cloud service if one does not already exist. Een cloudservice is de container waarin uw toepassing wordt gehost wanneer deze naar Azure wordt geïmplementeerd.A cloud service is the container in which your application is hosted when it is deployed to Azure. Zie Overzicht van het maken van een gehoste service voor Azure.For more information, see [Overview of Creating a Hosted Service for Azure].
  4. Het implementatiepakket wordt gepubliceerd naar Azure.Publishes the deployment package to Azure.

De toepassing stoppen en verwijderenStopping and deleting your application

Nadat u uw toepassing hebt geïmplementeerd, wilt u deze mogelijk uitschakelen om extra kosten te vermijden.After deploying your application, you may want to disable it so you can avoid extra costs. Webrolexemplaren in Azure worden per uur van verbruikte servertijd in rekening gebracht.Azure bills web role instances per hour of server time consumed. Er wordt servertijd verbruikt zodra de toepassing is geïmplementeerd, zelfs als de exemplaren niet worden uitgevoerd en de gestopte status hebben.Server time is consumed once your application is deployed, even if the instances are not running and are in the stopped state.

  1. In het Windows PowerShell-venster stopt u de service-implementatie die u in de vorige sectie hebt gemaakt, met de volgende cmdlet:In the Windows PowerShell window, stop the service deployment created in the previous section with the following cmdlet:

    Stop-AzureService
    

    Het kan enkele minuten duren voordat de service is gestopt.Stopping the service may take several minutes. Als de service is gestopt, krijgt u een bericht waarin dit wordt aangegeven.When the service is stopped, you receive a message indicating that it has stopped.

    The status of the Stop-AzureService command

  2. Als u de service wilt verwijderen, roept u de volgende cmdlet aan:To delete the service, call the following cmdlet:

    Remove-AzureService
    

    Wanneer dit wordt gevraagd, typt u Y om de service te verwijderen.When prompted, enter Y to delete the service.

    Het kan enkele minuten duren voordat de service is verwijderd.Deleting the service may take several minutes. Als de service is verwijderd, krijgt u een bericht waarin dit wordt aangegeven.After the service has been deleted you receive a message indicating that the service was deleted.

    The status of the Remove-AzureService command

    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.Deleting the service does not delete the storage account that was created when the service was initially published, and you will continue to be billed for storage used. Als niets anders de opslag gebruikt, kunt u deze verwijderen.If nothing else is using the storage, you may want to delete it.

Volgende stappenNext steps

Zie het Node.js Developer Center voor meer informatie.For more information, see the Node.js Developer Center.