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":
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:
Jako správce spusťte Windows PowerShell – v nabídce Start nebo na obrazovce Start vyhledejte Windows PowerShell.
Proveďte připojení PowerShellu ke svému předplatnému.
Zadáním následující rutiny PowerShellu vytvořte projekt:
New-AzureServiceProject 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í.
Zadejte následující příkaz pro přidání nové webové role:
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.
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.
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:
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.
Aplikace je nyní spuštěna v systému Azure.
Rutina Publish-AzureServiceProject provede následující kroky:
- Vytvoří balíček pro nasazení. Tento balíček obsahuje všechny soubory ve složce vaší aplikace.
- 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.
- 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.
- 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.
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.
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.
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.