Publikování aplikace Node.js do Azure (Linux App Service)
Tento kurz vás provede úlohu vytvoření jednoduché aplikace Node.js a jejím publikováním do Azure.
Při publikování aplikace Node.js do Azure existuje několik možností. Patří mezi ně služba Aplikace Azure Service, virtuální počítač s operačním systémem podle vašeho výběru, Azure Container Service (AKS) pro správu pomocí Kubernetes, instance kontejneru pomocí Dockeru a další. Další podrobnosti o každé z těchto možností najdete v tématu Výpočty.
Pro účely tohoto kurzu nasadíte aplikaci do služby Linux App Service. Linux App Service nasadí kontejner Dockeru pro Linux, který spustí aplikaci Node.js (na rozdíl od služby Windows App Service, která spouští aplikace Node.js za službou IIS ve Windows).
V tomto kurzu se dozvíte, jak vytvořit aplikaci Node.js počínaje šablonou nainstalovanou pomocí nástrojů Node.js pro Visual Studio, nasdílení kódu do úložiště na GitHubu a následné zřízení služby Aplikace Azure Service prostřednictvím webového portálu Azure, abyste je mohli nasadit z úložiště GitHub. Pokud chcete použít příkazový řádek ke zřízení služby Aplikace Azure a nasdílení kódu z místního úložiště Git, přečtěte si téma Vytvoření aplikace Node.js.
Důležité
Informace v tomto článku platí pouze pro typ projektu Node.js (.njsproj). Šablona použitá v tomto článku už není dostupná od sady Visual Studio 2022 verze 17.8 Preview 2.
V tomto kurzu se naučíte:
- Vytvoření projektu Node.js
- Vytvoření úložiště GitHub pro kód
- Vytvoření služby App Service pro Linux v Azure
- Nasazení do Linuxu
Požadavky
Musíte mít nainstalovanou sadu Visual Studio a vývojovou úlohu Node.js.
Pokud jste visual Studio 2019 ještě nenainstalovali, přejděte na stránku pro stažení sady Visual Studio a nainstalujte si ji zdarma.
Pokud potřebujete nainstalovat úlohu, ale sadu Visual Studio už máte, přejděte na Nástroje>Získat nástroje a funkce..., čímž se otevře Instalační program pro Visual Studio. Zvolte úlohu Vývoj aplikací Node.js a pak zvolte Změnit.
Je nutné mít nainstalovaný modul runtime Node.js.
Pokud ho nemáte nainstalovaný, nainstalujte si verzi LTS z webu Node.js. Obecně platí, že Visual Studio automaticky rozpozná nainstalovaný modul runtime Node.js. Pokud se nainstalovaný modul runtime nerozpozná, můžete projekt nakonfigurovat na stránce vlastností pomocí odkazu na nainstalovaný modul runtime (po vytvoření projektu klikněte pravým tlačítkem na uzel projektu a zvolte Vlastnosti).
Vytvoření projektu Node.js pro spuštění v Azure
Otevřete sadu Visual Studio.
Vytvořte novou aplikaci TypeScript Express.
Stisknutím klávesy Esc zavřete úvodní okno. Pokud chcete otevřít vyhledávací pole, zadejte Node.js a pak zvolte Vytvořit novou základní aplikaci Azure Node.js Express 4 (TypeScript). V zobrazeném dialogovém okně zvolte Vytvořit.
Pokud se šablona základního projektu aplikace Azure Node.js Express 4 nezobrazuje, musíte přidat úlohu vývoje Node.js. Podrobné pokyny najdete v části Požadavky.
Visual Studio vytvoří projekt a otevře ho v Průzkumník řešení (pravém podokně).
Stisknutím klávesy F5 sestavte a spusťte aplikaci a ujistěte se, že vše běží podle očekávání.
Výběrem možnosti Přidat soubor>do správy zdrojového kódu vytvořte pro projekt místní úložiště Git.
V tuto chvíli aplikace Node.js využívající architekturu Express a napsaná v TypeScriptu funguje a vrácena se změnami do místní správy zdrojového kódu.
Před pokračováním k dalším krokům upravte projekt podle potřeby.
Nasdílení kódu ze sady Visual Studio do GitHubu
Nastavení GitHubu pro Visual Studio:
Ujistěte se, že je nainstalované a povolené rozšíření GitHubu pro Visual Studio pomocí položek nabídky Rozšíření a>Aktualizace.
V nabídce vyberte Zobrazit>další Windows>GitHub.
Otevře se okno GitHubu.
Pokud v okně GitHubu nevidíte tlačítko Začínáme, klikněte na Tlačítko>Přidat soubor do správy zdrojového kódu a počkejte, až se uživatelské rozhraní aktualizuje.
Klikněte na Začínáme.
Pokud už jste připojení k GitHubu, panel nástrojů se zobrazí podobně jako na následujícím obrázku.
Vyplňte pole pro nové úložiště, které chcete publikovat, a klikněte na tlačítko Publikovat.
Po chvíli se zobrazí banner s informací, že se úložiště úspěšně vytvořilo.
V další části se dozvíte, jak publikovat z tohoto úložiště do služby Aplikace Azure v Linuxu.
Vytvoření služby App Service pro Linux v Azure
Přihlaste se k portálu Azure.
V seznamu služeb vlevo vyberte App Services a potom klikněte na Přidat.
V případě potřeby vytvořte novou skupinu prostředků a plán služby App Service pro hostování nové aplikace.
Ujistěte se, že je operační systém nastavený na Linux, a nastavte zásobník modulu runtime na požadovanou verzi Node.js, jak je znázorněno na obrázku.
Kliknutím na Vytvořit vytvoříte službu App Service.
Nasazení může trvat několik minut.
Po nasazení přejděte do části Nastavení aplikace a přidejte nastavení s názvem
SCM_SCRIPT_GENERATOR_ARGS
a hodnotou--node
.Upozorňující
Proces nasazení služby App Service používá sadu heuristik k určení typu aplikace, kterou se má vyzkoušet a spustit. Je-li .Soubor sln se zjistí v nasazeného obsahu, předpokládá se, že se nasazuje projekt založený na MSBuildu. Výše přidané nastavení tuto logiku přepíše a explicitně určuje, že se jedná o aplikaci Node.js. Bez tohoto nastavení se aplikace Node.js nepodaří nasadit, pokud je .Soubor sln je součástí úložiště, které se nasazuje do služby App Service.
V části Nastavení aplikace přidejte další nastavení s názvem
WEBSITE_NODE_DEFAULT_VERSION
a hodnotou8.9.0
.Po nasazení otevřete App Service a vyberte Možnosti nasazení.
Klikněte na Zvolit zdroj a pak zvolte GitHub a nakonfigurujte všechna požadovaná oprávnění.
Vyberte úložiště a větev, které chcete publikovat, a pak vyberte OK.
Během synchronizace se zobrazí stránka možností nasazení.
Po dokončení synchronizace se zobrazí značka zaškrtnutí.
Web teď spouští aplikaci Node.js z úložiště GitHub a je přístupná na adrese URL vytvořené pro službu Aplikace Azure Service (ve výchozím nastavení je název zadaný službě Aplikace Azure, za kterým následuje ".azurewebsites.net").
Úprava aplikace a nasdílení změn
Přidejte kód uvedený zde v souboru app.ts za řádek
app.use('/users', users);
. Tím se na adresu URL /api přidá rozhraní REST API.app.use('/api', (req, res, next) => { res.json({"result": "success"}); });
Sestavte kód a otestujte ho místně, pak ho zkontrolujte a nasdílejte na GitHub.
Na webu Azure Portal chvíli trvá zjišťování změn v úložišti GitHub a pak se spustí nová synchronizace nasazení. Vypadá to podobně jako na následujícím obrázku.
Po dokončení nasazení přejděte na veřejný web a připojte /api k adrese URL. Vrátí se odpověď JSON.
Řešení problému
- Pokud proces node.exe zemře (tj. dojde k neošetřené výjimce), kontejner se restartuje.
- Při spuštění kontejneru prochází různými heuristikami, abyste zjistili, jak spustit proces Node.js. Podrobnosti o implementaci můžete vidět na generateStartupCommand.js.
- Ke spuštěném kontejneru se můžete připojit přes SSH a prošetřit je. To se dá snadno provést pomocí webu Azure Portal. Vyberte Službu App Service a posuňte se dolů v seznamu nástrojů, dokud se nedosáhnete K SSH v části Vývojové nástroje .
- Pokud chcete pomoct s řešením potíží, přejděte do nastavení diagnostických protokolů pro službu App Service a změňte nastavení protokolování kontejneru Dockeru z Vypnuto na Systém souborů. Protokoly se vytvářejí v kontejneru v části /home/LogFiles/_docker.log*a dají se k němu přistupovat pomocí SSH nebo FTP(S).
- Vlastní název domény může být přiřazen k webu místo adresy URL *.azurewebsites.net přiřazené ve výchozím nastavení. Další podrobnosti najdete v tématu Mapování vlastní domény.
- Osvědčeným postupem je nasazení do přípravného webu pro další testování před přechodem do produkčního prostředí. Podrobnosti o tom, jak to nakonfigurovat, najdete v tématu Vytvoření přípravných prostředí.
- Další nejčastější dotazy najdete v App Service v Linuxu nejčastějších dotazech.
Další kroky
V tomto kurzu jste se dozvěděli, jak vytvořit službu App Service pro Linux a nasadit do služby aplikaci Node.js. Možná se chcete dozvědět více o Linux App Service.