Sdílet prostřednictvím


Publikování Node.js aplikace do Azure (Linux App Service)

Tento kurz vás provede úlohu vytvoření jednoduché Node.js aplikace a jejím publikováním do Azure.

Při publikování Node.js aplikace do Azure existuje několik možností. Patří sem Azure App 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četní.

K tomuto tutoriálu nasadíte aplikaci do Služby App Service pro Linux . Linux App Service nasadí kontejner Dockeru pro Linux, který spustí Node.js aplikaci (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 Node.js aplikaci počínaje šablonou nainstalovanou pomocí nástrojů Node.js Tools for Visual Studio, nasdílení kódu do úložiště na GitHubu a následné zřízení služby Azure App 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 Azure App Service a k odeslání kódu z místního gitového repozitáře, přečtěte si téma Vytvoření Node.js app.

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 úlohu vývoje pro Node.js.

    Pokud jste sadu Visual Studio 2019 ještě nenainstalovali, přejděte na stránku Visual Studio ke stažení a nainstalujte ji zdarma.

    Pokud potřebujete nainstalovat úlohu, ale sadu Visual Studio už máte, přejděte na Tools>Získat nástroje a funkce..., čímž se otevře instalační program sady Visual Studio. Zvolte Node.js úlohy vývoje a pak zvolte Upravit.

    Node.js úlohy v instalačním programu VS

  • Musíte mít nainstalovaný modul runtime Node.js.

    Pokud ji nemáte nainstalovanou, nainstalujte verzi LTS z webu Node.js. Obecně platí, že Visual Studio automaticky detekuje nainstalovaný modul runtime Node.js. Pokud nedetekuje nainstalovaný modul runtime, můžete projekt nakonfigurovat tak, aby odkazoval na nainstalovaný modul runtime na stránce vlastností (po vytvoření projektu klikněte pravým tlačítkem myši na uzel projektu a zvolte Vlastnosti).

Vytvoření projektu Node.js pro spuštění v Azure

  1. Otevřete Visual Studio.

  2. Vytvořte novou aplikaci TypeScript Express.

    Stisknutím klávesy Esc zavřete úvodní okno. Zadejte Ctrl + Q otevřete vyhledávací pole, zadejte Node.jsa 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 projektu Basic Azure Node.js Express 4 nezobrazuje, musíte přidat Node.js úlohu vývoje. Podrobné pokyny najdete v předpoklady.

    Visual Studio vytvoří projekt a otevře ho v Průzkumníku řešení (pravém podokně).

  3. Stisknutím klávesy F5 sestavte a spusťte aplikaci a ujistěte se, že vše běží podle očekávání.

  4. Vyberte Soubor>Přidat do správy zdrojového kódu, abyste vytvořili místní úložiště Git pro projekt.

    V tuto chvíli je aplikace Node.js, která používá framework Express a je napsaná v TypeScriptu, funkční a začleněná do místní správy zdrojového kódu.

  5. 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:

  1. Ujistěte se, že je nainstalované a povolené rozšíření GitHub pro Visual Studio pomocí položky nabídky Tools>Extensions and Updates.

  2. V nabídce vyberte Zobrazit>Jiné>GitHubu.

    Otevře se okno GitHubu.

  3. Pokud v okně GitHubu nevidíte tlačítko Začínáme, klikněte na Soubor>Přidat do správy verzí a počkejte na aktualizaci uživatelského rozhraní.

    Otevření okna GitHubu

  4. 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.

    nastavení úložiště GitHub

  5. Vyplňte pole pro nové úložiště, které chcete publikovat, a potom klikněte na 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 Azure App Service v Linuxu.

Vytvoření služby App Service pro Linux v Azure

  1. Přihlaste se do portálu Azure.

  2. V seznamu služeb na levé straně vyberte App Services a potom klikněte na Přidat.

  3. V případě potřeby vytvořte novou skupinu prostředků a plán služby App Service pro hostování nové aplikace.

  4. Nezapomeňte nastavit operačního systému na Linuxa nastavit Zásobník modulu runtime na požadovanou verzi Node.js, jak je znázorněno na obrázku.

    Vytvoření služby App Service pro Linux

  5. Klikněte na Vytvořit a vytvořte App službu.

    Nasazení může trvat několik minut.

  6. Po nasazení přejděte do části Nastavení aplikace a přidejte nastavení s názvem SCM_SCRIPT_GENERATOR_ARGS a hodnotou --node.

    nastavení aplikace

    Varování

    Proces nasazení služby App Service používá sadu heuristik k určení typu aplikace, kterou se má vyzkoušet a spustit. Je-li v nasazeném obsahu zjištěn soubor .sln, bude se předpokládat, že je nasazován projekt založený na MSBuild. 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 aplikaci Node.js nepodaří nasadit, pokud je soubor .sln součástí úložiště, které se nasazuje do služby App Service.

  7. V části Nastavení aplikacepřidejte další nastavení s názvem WEBSITE_NODE_DEFAULT_VERSION a hodnotou 8.9.0.

  8. Po nasazení otevřete App Service a vyberte možnosti nasazení.

    možnosti nasazení

  9. Klikněte na Zvolte zdroj, poté zvolte GitHub, a nakonfigurujte všechna požadovaná oprávnění.

    oprávnění GitHubu

  10. Vyberte úložiště a větev, které chcete publikovat, a pak vyberte OK.

    publikování do služby App Service pro Linux

    Při synchronizaci se zobrazí stránka s možnostmi nasazení .

    Nasazení a synchronizace s GitHubu

    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 Azure App Service (ve výchozím nastavení název uvedený službě Azure App Service následovaný .azurewebsites.net).

Úprava aplikace a nasdílení změn

  1. Přidejte kód uvedený zde v app.ts za řádek app.use('/users', users);. Tím se přidá rozhraní REST API na adrese URL /api.

    app.use('/api', (req, res, next) => {
        res.json({"result": "success"});
    });
    
  2. 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.

    Upravit a synchronizovat

  3. Po dokončení nasazení přejděte na veřejný web a připojte k adrese URL /api. Vrátí se odpověď JSON.

Řešení problémů

  • 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, aby zjistil, jak spustit proces Node.js. Podrobnosti o implementaci lze vidět na generateStartupCommand.js.
  • Ke spuštěnému kontejneru se můžete připojit přes SSH k prozkoumání problémů. 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 nedosáhnete SSH v části Vývojové nástroje.
  • Pokud chcete pomoct s řešením potíží, přejděte do diagnostických protokolů nastavení služby App Service a změňte nastavení protokolování kontejneru Dockeru z Vypnuto na systému souborů. Protokoly se vytvářejí v kontejneru v rámci /home/LogFiles/_docker.log* a lze k nim 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í na přípravném 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í.
  • Podívejte se na často kladené dotazy o App Service na Linuxu pro další informace.

Další kroky

V tomto kurzu jste se dozvěděli, jak vytvořit Linux App Service a nasadit do služby Node.js aplikaci. Možná se chcete dozvědět více o Linux App Service.

Linux App Service