Node.js-alkalmazás létrehozása és üzembe helyezése Azure Cloud Service-szolgáltatásban (klasszikus)
Fontos
Cloud Services (klasszikus) mostantól elavult az új ügyfelek számára, és 2024. augusztus 31-én minden ügyfél számára megszűnik. Az új üzemelő példányoknak az új Azure Resource Manager-alapú Azure Cloud Services (kiterjesztett támogatás) üzembehelyezési modellt kell használniuk.
Ebből az oktatóanyagból megtudhatja, hogyan hozhat létre egy egyszerű, Azure-felhőszolgáltatásban futó Node.js alkalmazást. A Cloud Services a méretezhető felhőalapú alkalmazások építőeleme az Azure-ban. Lehetővé teszik az alkalmazás előtér- és háttér-összetevőinek elkülönítését, valamint egymástól független kezelését és kibővítését. A Cloud Services egy robusztus, dedikált virtuális gépet biztosít az egyes szerepkörök megbízható üzemeltetéséhez.
További információk a Cloud Servicesről, valamint annak összevetése az Azure Websites és a Virtual Machines szolgáltatással: Az Azure Websites, a Cloud Services és a Virtual Machines összevetése.
Tipp
Egyszerű webhelyet szeretne készíteni? Ha csak egy egyszerű webhely előterét kívánja futtatni, fontolja meg egy egyszerűsített webalkalmazás használatát. Könnyedén frissíthet Cloud Service szolgáltatásra, ha a webalkalmazás növekszik és a követelmények változnak.
Az oktatóanyag utasításait követve egy webes szerepkörben lévő egyszerű webalkalmazást fog létrehozni. A Compute Emulator használatával fogja elvégezni az alkalmazás helyi tesztelését, majd PowerShell parancssori eszközökkel a telepítését.
Az alkalmazás egy egyszerű „hello world” alkalmazás:
Előfeltételek
Megjegyzés
A jelen oktatóanyagban szereplő Azure PowerShell használatához Windows rendszer szükséges.
- Telepítse és konfigurálja a Azure PowerShell.
- Töltse le és telepítse az [Azure SDK for .NET 2.7]. A telepítőben válassza a következőket:
- MicrosoftAzureAuthoringTools
- MicrosoftAzureComputeEmulator
Azure Cloud Service-projektet létrehozása
Hajtsa végre az alábbi feladatokat egy új Azure Cloud Service-projekt létrehozásához alapszintű Node.js szerkezettel:
Futtassa a Windows PowerShell eszközt rendszergazdaként: a Start menüben vagy a Kezdőképernyőn keressen a Windows PowerShell kifejezésre.
A PowerShell összekapcsolása az előfizetéssel.
A projekt létrehozásához adja meg a következő PowerShell-parancsmagot:
New-AzureServiceProject helloworld
A New-AzureServiceProject parancsmag létrehoz egy alapszintű struktúrát egy Node.js-alkalmazás közzétételéhez egy Cloud Service szolgáltatásban. Az Azure-ban való közzétételhez szükséges konfigurációs fájlokat tartalmaz. A parancsmag emellett a munkakönyvtárat a szolgáltatás könyvtárára módosítja.
A parancsmag a következő fájlokat hozza létre:
- ServiceConfiguration.Cloud.cscfg, ServiceConfiguration.Local.cscfg és ServiceDefinition.csdef: az alkalmazás közzétételéhez szükséges Azure-specifikus fájlok. További információkért lásd: Üzemeltetett szolgáltatás létrehozása az Azure-ban – áttekintés.
- deploymentSettings.json: Az Azure PowerShell telepítési parancsmagok által használt helyi beállításokat tárolja.
Új webes szerepkör hozzáadásához adja meg az alábbi parancsot:
Add-AzureNodeWebRole
Az Add-AzureNodeWebRole parancsmag létrehoz egy alapszintű Node.js-alkalmazást. Továbbá a .csfg- és .csdef-fájlok módosításával konfigurációs bejegyzéseket ad hozzá az új szerepkörhöz.
Megjegyzés
Ha nem ad meg egy nevet a szerepkörhöz, alapértelmezett név lesz használva. Az első parancsmag-paraméterként megadhat egy nevet:
Add-AzureNodeWebRole MyRole
A Node.js-alkalmazás a server.js-fájlban van meghatározva, amely a webes szerepkör könyvtárában található (alapértelmezés szerint WebRole1). A kód itt látható:
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);
Ez a kód lényegében megegyezik a nodejs.org webhelyen található „Hello World” példával, azt leszámítva, hogy a felhőkörnyezet által hozzárendelt portszámot használja.
Az alkalmazás üzembe helyezése az Azure-ban
Megjegyzés
Az oktatóanyag elvégzéséhez egy Azure-fiókra lesz szüksége. Aktiválhatja MSDN-előfizetői előnyeit, vagy regisztrálhat egy ingyenes fiókot.
Az Azure közzétételi beállítások letöltése
Az alkalmazás közzétételéhez az Azure-ban először le kell töltenie a közzétételi beállításokat az Azure-előfizetéséhez.
Futtassa a következő Azure PowerShell-parancsmagot:
Get-AzurePublishSettingsFile
Ezáltal a böngészője megnyitja a közzétételi beállítások letöltése oldalt. A rendszer arra kérheti, hogy jelentkezzen be egy Microsoft-fiókkal. Ebben az esetben használja az Azure-előfizetéséhez társított fiókot.
Mentse a letöltött profilt egy olyan fájlhelyre, amelyhez könnyen hozzáfér.
Futtassa a következő parancsmagot a letöltött közzétételi profil importálásához:
Import-AzurePublishSettingsFile [path to file]
Megjegyzés
A közzétételi beállítások importálása után érdemes törölni a letöltött .publishSettings-fájlt, ugyanis olyan információkat tartalmaz, amelyekkel mások hozzáférhetnek a fiókjához.
Az alkalmazás közzététele
A közzétételhez futtassa a következő parancsokat:
$ServiceName = "NodeHelloWorld" + $(Get-Date -Format ('ddhhmm'))
Publish-AzureServiceProject -ServiceName $ServiceName -Location "East US" -Launch
- A -ServiceName megadja a központi telepítés nevét. Ennek egyedi névnek kell lennie, máskülönben a közzétételi folyamat meghiúsul. A Get-Date parancs hozzátold egy dátum/idő sztringet, amely egyedivé teheti a nevet.
- A -Location megadja az adatközpontot, amelyben az alkalmazás üzemel. Az elérhető adatközpontok listájáért használja a Get-AzureLocation parancsmagot.
- A -Launch megnyit egy ablakot a böngészőben, majd az üzemeltetett szolgáltatásokra lép a telepítés befejezése után.
Miután a közzététel sikeresen megtörtént, a következőhöz hasonló válasz jelenik meg:
Megjegyzés
Az első közzététel alkalmával több percet is igénybe vehet, mire az alkalmazás települ, és elérhetővé válik.
A telepítés befejezése után megnyílik egy ablak a böngészőben, amely megjeleníti a felhőszolgáltatást.
Az alkalmazás most már az Azure-ban fut.
A Publish-AzureServiceProject-parancsmag az alábbi lépéseket végzi el:
- Létrehoz egy telepítendő csomagot. A csomag az alkalmazás mappájában lévő összes fájlt tartalmazza.
- Létrehoz egy új tárfiókot, ha még nem létezik. Az Azure-tárfiók az alkalmazáscsomag tárolására szolgál a telepítés során. A telepítés befejezése után nyugodtan törölheti a tárfiókot.
- Létrehoz egy új felhőszolgáltatást, ha még nem létezik. A felhőszolgáltatás az a tároló, amelyben az alkalmazás üzemel az Azure-ba való telepítéskor. További információkért lásd: Üzemeltetett szolgáltatás létrehozása az Azure-ban – áttekintés.
- Közzéteszi a telepítési csomagot az Azure-ban.
Az alkalmazás leállítása és törlése
Érdemes lehet letiltani az alkalmazást a telepítést követően a további költségek elkerülése érdekében. Az Azure a webesszerepkör-példányok esetében óránként számol fel díjat a felhasznált kiszolgálóidő után. A kiszolgálóidő felhasználása az alkalmazás üzembe helyezésétől kezdődik, még akkor is, ha a példányok nem futnak, és leállított állapotban vannak.
Állítsa le az előző szakaszban létrehozott szolgáltatástelepítést a Windows PowerShell-ablakban az alábbi parancsmag használatával:
Stop-AzureService
A szolgáltatás leállítása eltarthat néhány percig. Miután a szolgáltatás leállt, kap egy üzenetet, amely tájékoztatja a leállásról.
A szolgáltatás törléséhez hívja meg a következő parancsot:
Remove-AzureService
Ha a rendszer rákérdez, írja be az Y karaktert a szolgáltatás törléséhez.
A szolgáltatás törlése eltarthat néhány percig. Miután megtörtént a szolgáltatás törlése, kap egy üzenetet, amely tájékoztatást ad erről.
Megjegyzés
A szolgáltatás törlésével nem törlődik a szolgáltatás első közzétételekor létrehozott tárfiók, ezért továbbra is fizetnie kell a felhasznált tárterület után. Ha a tárterületet semmi más nem használja, megfontolhatja a törlését.
Következő lépések
További információk: Node.js fejlesztői központ.