Sdílet prostřednictvím


Sestavení a nasazení aplikace Node.js do cloudové služby Azure (classic)

Důležité

Od 1. září 2024 je služba Cloud Services (Classic) pro všechny zákazníky zastaralá. Microsoft zastaví a vypne všechna stávající spuštěná nasazení a data se od října 2024 trvale ztratí. Nová nasazení by měla používat nový model nasazení založený na Azure Resource Manageru na Azure Cloud Services (rozšířená podpora).

V tomto kurzu se dozvíte, jak vytvořit Node.js aplikaci spuštěnou v cloudové službě Azure. Cloud Services jsou stavebními bloky škálovatelných cloudových aplikací v systému Azure. Umožňují oddělení, nezávislou správu a škálování front-endových a back-endových komponent vaší aplikace. Cloud Services poskytují výkonný vyhrazený virtuální počítač, který spolehlivě hostuje jednotlivé role.

Tip

Chcete vytvořit web? Pokud váš scénář zahrnuje jen jednoduchý front-endový web, zvažte Použití jednoduché webové aplikace. V případě potřeby budete moci snadno upgradovat na Cloud Service, až vaše webová aplikace naroste a vaše požadavky se změní.

Podle tohoto kurzu vytvoříte webovou aplikaci hostované v rámci webové role. Pomocí emulátoru výpočetních prostředků otestujete aplikaci místně a pak ji nasadíte pomocí nástrojů příkazového řádku PowerShellu.

Aplikace je aplikace "hello world":

Webový prohlížeč zobrazující webovou stránku Hello World

Požadavky

Poznámka:

Tento kurz používá prostředí Azure PowerShell, které vyžaduje systém Windows.

  • Nainstalujte a nakonfigurujte Azure PowerShell.
  • Stáhněte a nainstalujte sadu [Azure SDK pro .NET 2.7]. V instalačním programu instalace vyberte:
    • MicrosoftAzureAuthoringTools
    • MicrosoftAzureComputeEmulator

Vytvoření projektu Azure Cloud Service

Proveďte následující kroky, a vytvořte tak nový projekt Azure Cloud Service a vygenerujte základní uživatelské rozhraní Node.js:

  1. Jako správce spusťte Windows PowerShell – v nabídce Start nebo na obrazovce Start vyhledejte Windows PowerShell.

  2. Proveďte připojení PowerShellu ke svému předplatnému.

  3. Zadáním následující rutiny PowerShellu vytvořte projekt:

    New-AzureServiceProject helloworld
    

    Výsledek příkazu New-AzureService helloworld

    Rutina New-AzureServiceProject generuje základní strukturu pro publikování aplikace Node.js na službě Cloud Service. Obsahuje konfigurační soubory, které jsou nezbytné pro publikování v systému Azure. Rutina také změní pracovní adresář na adresář pro službu.

    Rutina vytvoří následující soubory:

    • ServiceConfiguration.Cloud.cscfg, ServiceConfiguration.Local.cscfg a ServiceDefinition.csdef: soubory specifické pro Azure, které jsou zapotřebí pro publikování aplikace. Další informace najdete v tématu Přehled vytváření hostované služby pro Azure.
    • deploymentSettings.json: uloží místní nastavení, které používají rutiny Azure PowerShellu sloužící k nasazení.
  4. Zadejte následující příkaz pro přidání nové webové role:

    Add-AzureNodeWebRole
    

    Výstup příkazu Add-AzureNodeWebRole

    Rutina Add-AzureNodeWebRole vytvoří základní aplikaci Node.js. Také upraví soubory .csfg a .csdef pro přidání konfiguračních údajů pro novou roli.

    Poznámka:

    Pokud nezadáte název role, použije se výchozí název. Název můžete zadat jako první parametr rutiny: Add-AzureNodeWebRole MyRole

Aplikace Node.js je definována v souboru server.js, který je umístěn v adresáři pro webovou roli (ve výchozím nastavení WebRole1). Tady je kód:

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);

Tento kód je v podstatě stejný jako u příkladu "Hello World" na webu nodejs.org až na to, že používá číslo portu přiřazené cloudovému prostředí.

Nasazení aplikace do Azure

Poznámka:

K dokončení tohoto kurzu potřebujete mít účet Azure. Můžete si aktivovat výhody předplatitele MSDN nebo si zaregistrovat bezplatný účet.

Stažení nastavení publikování v systému Azure

Než aplikaci nasadíte v systému Azure, musíte si nejdřív stáhnout nastavení publikování pro své předplatné Azure.

  1. Spusťte následující rutiny Azure PowerShellu:

    Get-AzurePublishSettingsFile
    

    Tento příkaz používá prohlížeč k přechodu na stránku pro stažení nastavení publikování. Může se zobrazit výzva k přihlášení pomocí účtu Microsoft. Pokud k tomu dojde, použijte účet spojený s předplatným Azure.

    Soubor se staženým profilem uložte do umístění, kam se snadno dostanete.

  2. Spusťte následující rutinu, která importuje stažený profil publikování.

    Import-AzurePublishSettingsFile [path to file]
    

    Poznámka:

    Po importu nastavení publikování zvažte, zda byste neměli smazat soubor .publishSettings. Obsahuje totiž informace, které by někomu mohly umožnit přístup na váš účet.

Publikování aplikace

Pokud chcete aplikaci publikovat, spusťte následující příkazy:

$ServiceName = "NodeHelloWorld" + $(Get-Date -Format ('ddhhmm'))
Publish-AzureServiceProject -ServiceName $ServiceName  -Location "East US" -Launch
  • -ServiceName určuje název pro nasazení. Tato hodnota musí být jedinečným názvem; jinak proces publikování selže. Příkaz Get-Date přiřadí k řetězci datum/čas, aby byl název jedinečný.
  • -Location určuje datacentrum, které je hostitelem aplikace. Pokud chcete zobrazit seznam dostupných datových center, použijte rutinu Get-AzureLocation.
  • -Po dokončení nasazení se otevře okno prohlížeče a přejde do hostované služby.

Po úspěšném publikování se zobrazí odpověď podobná snímku obrazovky:

Výstup příkazu Publish-AzureService

Poznámka:

Při prvním publikování může trvat několik minut, než se aplikace nasadí a bude k dispozici.

Po dokončení nasazení se otevře okno prohlížeče a přejde do cloudové služby.

Okno prohlížeče zobrazující stránku Hello World, adresa URL ukazuje na to, že je stránka hostovaná na platformě Azure

Aplikace je nyní spuštěna v systému Azure.

Rutina Publish-AzureServiceProject provede následující kroky:

  1. Vytvoří balíček pro nasazení. Tento balíček obsahuje všechny soubory ve složce vaší aplikace.
  2. Vytvoří nový účet úložiště, pokud neexistuje. Účet úložiště Azure slouží k ukládání balíčku aplikace během nasazení. Po dokončení nasazení můžete účet úložiště bezpečně smazat.
  3. Vytvoří novou cloudovou službu , pokud ještě neexistuje. Cloudová služba je kontejner, ve kterém je vaše aplikace hostovaná při nasazení do Azure. Další informace najdete v tématu Přehled vytváření hostované služby pro Azure.
  4. Publikuje balíček pro nasazení v systému Azure.

Zastavení a odstranění vaší aplikace

Může se stát, že po nasazení budete chtít aplikaci zastavit a vyhnout se tak dalším poplatkům. Azure účtuje poplatky za instance webových rolí podle času (v hodinách), který na serveru spotřebují. Čas serveru se spotřebovává po nasazení aplikace, i když instance nejsou spuštěné a jsou v zastaveném stavu.

  1. V okně prostředí Windows PowerShell pomocí následující rutiny ukončete nasazení služby vytvořené v předchozí části:

    Stop-AzureService
    

    Zastavování služby může trvat několik minut. Když je služba zastavená, zobrazí se zpráva oznamující, že se zastavila.

    Stav příkazu Stop-AzureService

  2. Pokud chcete službu odstranit, zavolejte následující rutinu:

    Remove-AzureService
    

    Po zobrazení výzvy zadejte Y, a službu tak odstraňte.

    Odstraňování služby může trvat několik minut. Po odstranění služby se zobrazí zpráva, že služba byla odstraněna.

    Stav příkazu Remove-AzureService

    Poznámka:

    Odstraněním služby nedojde k odstranění účtu úložiště, který byl vytvořen při prvním publikování služby. Budou vám tedy i nadále účtovány poplatky za využívání úložiště. Pokud se úložiště nepoužívá pro nic jiného, můžete je odstranit.

Další kroky

Další informace najdete v tématu Centrum pro vývojáře Node.js.