Vytvoření webové aplikace Node.js ve službě Azure

V tomto rychlém startu se dozvíte, jak vytvořit a nasadit první webovou aplikaci Node.js (Express) do Azure App Service. App Service podporuje různé verze Node.js v systémech Linux a Windows.

V tomto rychlém startu se nakonfiguruje App Service aplikace v bezplatné úrovni a za vaše předplatné Azure se neúčtují žádné náklady.

Nastavení počátečního prostředí

  • Mít účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
  • Nainstalujte Node.js a npm. Spusťte příkaz node --version a ověřte, zda je nainstalován Node.js.
  • Nainstalujte rozhraní příkazového řádku Azure CLI, ve kterém spouštíte příkazy v jakémkoli prostředí pro zřizování a konfiguraci prostředků Azure.
  • Mít účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
  • Nainstalujte Node.js a npm. Spusťte příkaz node --version a ověřte, zda je nainstalován Node.js.
  • Mít klienta FTP (například FileZilly) pro připojení k vaší aplikaci.

Vytvoření aplikace Node.js

V tomto kroku vytvoříte úvodní Node.js aplikaci a zajistěte, aby běžela ve vašem počítači.

Tip

Pokud jste již dokončili Node.js kurz, můžete přeskočit k části nasazení do Azure.

  1. Pomocí generátoru Express, který je ve výchozím nastavení nainstalován s Node.js a NPM, vytvořte jednoduchou aplikaci Node.js.

    npx express-generator myExpressApp --view pug
    
  2. Přejděte do adresáře aplikace a nainstalujte balíčky NPM.

    cd myExpressApp
    npm install
    
  3. Spusťte vývojový server.

    npm start
    
  4. V prohlížeči přejděte na http://localhost:3000 . Měli byste vidět přibližně toto:

    Spuštění expresní aplikace

Nasazení do Azure

Než budete pokračovat, ujistěte se, že máte nainstalované a nakonfigurované všechny požadavky.

Poznámka

Aby mohla aplikace Node.js běžet v Azure, musí naslouchat portu poskytované PORT proměnnou prostředí. Ve vygenerované aplikaci Express se tato proměnná prostředí už používá ve spouštěcím skriptu bin nebo na webové stránce (hledání process.env.PORT ).

Přihlášení k Azure

  1. v terminálu se ujistěte, že jste v adresáři myExpressApp , a pak spusťte Visual Studio Code s následujícím příkazem:

    code .
    
  2. v Visual Studio Code na řádku aktivityvyberte logo Azure .

  3. V Průzkumníku App Service vyberte Přihlásit se k Azure... a postupujte podle pokynů.

    v Visual Studio Code byste měli na stavovém řádku a v rámci vašeho předplatného v průzkumníkovi služby azure APP SERVICE vidět vaši e-mailovou adresu Azure.

    Přihlaste se k Azure

Konfigurace aplikace App Service a nasazení kódu

  1. V Průzkumníku App Service vyberte ikonu nasazení do webové aplikace .

    snímek obrazovky služby Azure App service v Visual Studio Code zobrazující vybranou modrou ikonu šipky

  2. Vyberte složku myExpressApp .

  1. Vyberte vytvořit novou webovou aplikaci. Ve výchozím nastavení se používá kontejner Linux.

  2. Zadejte globálně jedinečný název vaší webové aplikace a stiskněte klávesu ENTER. Název musí být jedinečný ve všech Azure a používat pouze alfanumerické znaky (A-Z, a-z a ' 0-9 ') a spojovníky (-).

  3. V části vybrat zásobník modulu runtime vyberte požadovanou verzi Node.js. Doporučuje se verze LTS .

  4. V části vyberte cenovou úroveň vyberte Free (F1) a počkejte, než se prostředky zřídí v Azure.

  5. V automaticky otevřeném okně vždy nasaďte pracovní prostor "myExpressApp" do <app-name> ", vyberte Ano. tímto způsobem, pokud jste ve stejném pracovním prostoru, Visual Studio Code v každém okamžiku nasadí do stejné App Service aplikace.

    i když Visual Studio Code zřídí prostředky Azure a nasadí kód, zobrazuje oznámení o průběhu.

  6. Jakmile se nasazení dokončí, vyberte Procházet web v místní nabídce oznámení. Prohlížeč by měl zobrazit stránku expresní výchozí.

V terminálu se ujistěte, že jste v adresáři myExpressApp a nasadíte kód do místní složky (myExpressApp) pomocí az webapp up příkazu:

az webapp up --sku F1 --name <app-name>
  • Pokud az příkaz není rozpoznaný, ujistěte se, že máte nainstalované rozhraní příkazového řádku Azure, jak je popsané v tématu Nastavení počátečního prostředí.
  • Nahraďte <app_name> názvem, který je jedinečný v rámci všech Azure (platné znaky jsou a-z , 0-9 a -). Dobrým vzorem je použití kombinace názvu vaší společnosti a identifikátoru aplikace.
  • --sku F1Argument vytvoří webovou aplikaci na cenové úrovni Free, která se zaznamená bez nákladů.
  • Volitelně můžete zahrnout argument --location <location-name> , kde <location_name> je dostupná oblast Azure. Seznam povolených oblastí pro váš účet Azure můžete načíst spuštěním az account list-locations příkazu.
  • Příkaz vytvoří ve výchozím nastavení aplikaci pro Linux pro Node.js. pokud chcete místo toho vytvořit Windows aplikaci, použijte --os-type argument.
  • Pokud se zobrazí chyba, "nebylo možné automaticky rozpoznat zásobník modulu runtime vaší aplikace", ujistěte se, že jste spustili příkaz v adresáři myExpressApp (Další informace najdete v tématu řešení potíží s automatickým rozpoznáním potíží pomocí příkazu AZ WebApp up).

Dokončení příkazu může trvat několik minut. Při spuštění aplikace poskytuje zprávy o vytvoření skupiny prostředků, plánu App Service a prostředku aplikace, konfiguraci protokolování a provádění nasazení ZIP. Pak mu zobrazí zprávu "aplikaci můžete spustit v http:// < App-name > . azurewebsites.NET", což je adresa URL aplikace v Azure.

The webapp '<app-name>' doesn't exist
Creating Resource group '<group-name>' ...
Resource group creation complete
Creating AppServicePlan '<app-service-plan-name>' ...
Creating webapp '<app-name>' ...
Configuring default logging for the app, if not already enabled
Creating zip with contents of dir /home/cephas/myExpressApp ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://<app-name>.azurewebsites.net
{
  "URL": "http://<app-name>.azurewebsites.net",
  "appserviceplan": "<app-service-plan-name>",
  "location": "centralus",
  "name": "<app-name>",
  "os": "<os-type>",
  "resourcegroup": "<group-name>",
  "runtime_version": "node|10.14",
  "runtime_version_detected": "0.0",
  "sku": "FREE",
  "src_path": "//home//cephas//myExpressApp"
}

Poznámka

Příkaz az webapp up provádí tyto akce:

Přihlášení k webu Azure Portal

Přihlaste se k webu Azure Portal na adrese https://portal.azure.com.

Vytvoření prostředků Azure

  1. Do vyhledávacího pole zadejte App Services . V části služby vyberte App Services.

    Snímek obrazovky s vyhledáváním na portálu

  2. Na stránce App Services vyberte vytvořit.

  3. Přesvědčte se, že je na kartě Základy v části Podrobnosti o projektu vybrané správné předplatné a pak ve Skupině prostředků vyberte Vytvořit nový. Jako název zadejte myResourceGroup .

    snímek obrazovky s oddílem podrobností o Project, kde si vybíráte předplatné Azure a skupinu prostředků pro webovou aplikaci

  4. V části Podrobnosti o instanci zadejte globálně jedinečný název vaší webové aplikace a vyberte kód. Vyberte uzel 14 LTS runtime Stack, operační systém a oblast , ze které chcete aplikaci obsluhovat.

    Snímek obrazovky s oddílem podrobností instance, kde můžete zadat název virtuálního počítače a vybrat jeho oblast, obrázek a velikost

  5. V části plán App Service vyberte vytvořit nový plán App Service. Jako název zadejte myAppServicePlan . Pokud chcete přejít na úroveň Free, klikněte na změnit velikost, vyberte kartu pro vývoj/testování , vyberte F1 a klikněte na tlačítko použít v dolní části stránky.

    Snímek obrazovky s oddílem účtu správce, kde můžete zadat uživatelské jméno a heslo správce

  6. V dolní části stránky vyberte tlačítko Revize + vytvořit .

    Snímek obrazovky zobrazující tlačítko pro kontrolu a vytvoření v dolní části stránky

  7. Po spuštění ověření vyberte tlačítko vytvořit v dolní části stránky.

  8. Po dokončení nasazení vyberte Přejít k prostředku.

    Snímek obrazovky, který ukazuje další krok přechodu na prostředek

Získat přihlašovací údaje FTP

Azure App Service podporuje dva typy přihlašovacích údajů pro nasazení FTP/S. Tyto přihlašovací údaje nejsou stejné jako přihlašovací údaje vašeho předplatného Azure. V této části získáte přihlašovací údaje pro obor aplikace pro použití s FileZilly.

  1. Na stránce App Service aplikace klikněte v nabídce vlevo na centrum nasazení a vyberte kartu přihlašovací údaje FTPS .

    Přihlašovací údaje pro nasazení FTPS

  2. Otevřete FileZilly a vytvořte nový web.

  3. Na kartě přihlašovací údaje FTPS zkopírujte do FileZilly koncový bod FTPS, uživatelské jméno a heslo .

    Podrobnosti připojení FTPS

  4. v filezilly klikněte na Připojení .

Nasazení souborů s využitím protokolu FTP

  1. Zkopírujte všechny soubory a soubory adresářů do adresáře /site/wwwroot v Azure.

    Soubory nasazení FileZilly

  2. Vyhledejte adresu URL vaší aplikace a ověřte, že aplikace funguje správně.

Znovu nasadit aktualizace

změny v této aplikaci můžete nasadit tak, že provedete úpravy v Visual Studio Code, ukládáte soubory a pak znovu nasadíte do aplikace Azure. Například:

  1. Z ukázkového projektu otevřete zobrazení/index. pug a změňte

    p Welcome to #{title}
    

    na

    p Welcome to Azure!
    
  1. V Průzkumníku App Service znovu vyberte ikonu nasadit do webové aplikace a potvrďte to tak, že znovu kliknete na nasadit .

  2. Počkejte, než se nasazení dokončí, a pak v okně oznámení vyberte Procházet web . Měla by se zobrazit zpráva, že Welcome to Express došlo ke změně zprávy na Welcome to Azure! .

  1. Uložte změny a pak znovu nasaďte aplikaci pomocí az webapp up příkazu bez argumentů:

    az webapp up
    

    Tento příkaz používá hodnoty, které jsou uložené místně v souboru . Azure/config , jako je název aplikace, skupina prostředků a plán App Service.

  2. Po dokončení nasazení aktualizujte webovou stránku http://<app-name>.azurewebsites.net . Měla by se zobrazit zpráva, že Welcome to Express došlo ke změně zprávy na Welcome to Azure! .

  1. Uložte změny a pak znovu nasaďte aplikaci pomocí klienta FTP.

  2. Po dokončení nasazení aktualizujte webovou stránku http://<app-name>.azurewebsites.net . Měla by se zobrazit zpráva, že Welcome to Express došlo ke změně zprávy na Welcome to Azure! .

Streamování protokolů

výstup protokolu (volání do console.log() ) můžete z aplikace Azure streamovat přímo v okně Visual Studio Code výstup.

  1. V Průzkumníku App Service klikněte pravým tlačítkem myši na uzel aplikace a vyberte Spustit protokoly streamování.

    Spustit streamování protokolů

  2. Pokud se zobrazí výzva k restartování aplikace, klikněte na Ano. po restartování aplikace se otevře okno Visual Studio Code výstup s připojením k datovému proudu protokolu.

  3. Po několika sekundách se v okně výstup zobrazí zpráva oznamující, že jste připojeni ke službě streamování protokolů. Další výstupní aktivitu můžete vygenerovat tak, že aktualizujete stránku v prohlížeči.

     Connecting to log stream...
     2020-03-04T19:29:44  Welcome, you are now connected to log-streaming service. The default timeout is 2 hours.
     Change the timeout with the App Setting SCM_LOGSTREAM_TIMEOUT (in seconds).
     

Můžete přistupovat k protokolům konzoly generovaným zevnitř aplikace a kontejnerem, ve kterém je spuštěný. Protokoly obsahují výstup generovaný voláním console.log() .

Pokud chcete streamovat protokoly, spusťte příkaz AZ WebApp log Tail :

az webapp log tail

Příkaz používá název skupiny prostředků uložený v souboru . Azure/config .

--logs az webapp up K automatickému otevření streamu protokolu při nasazení můžete taky použít parametr s příkazem.

Aktualizujte aplikaci v prohlížeči, aby se generovaly protokoly konzoly, které obsahují zprávy popisující požadavky HTTP na aplikaci. Pokud se žádný výstup nezobrazuje hned, zkuste to znovu za 30 sekund.

Chcete-li zastavit streamování protokolů kdykoli, stiskněte klávesu CTRL + C v terminálu.

Můžete přistupovat k protokolům konzoly generovaným zevnitř aplikace a kontejnerem, ve kterém je spuštěný. Výstup protokolu (volání console.log() ) z aplikace Node.js můžete streamovat přímo v Azure Portal.

  1. Na stejné stránce App Service pro vaši aplikaci pomocí nabídky vlevo přejděte do části monitorování a klikněte na Stream protokolu.

    Snímek z datového proudu protokolu ve službě Azure App Service.

  2. Po několika sekundách se v okně výstup zobrazí zpráva oznamující, že jste připojeni ke službě streamování protokolů. Další výstupní aktivitu můžete vygenerovat tak, že aktualizujete stránku v prohlížeči.

     Connecting...
     2021-10-26T21:04:14  Welcome, you are now connected to log-streaming service.
     Starting Log Tail -n 10 of existing logs ----
     /appsvctmp/volatile/logs/runtime/81b1b83b27ea1c3d598a1cdec28c71c4074ce66c735d0be57f15a8d07cb3178e.log
     2021-10-26T21:04:08.614384810Z: [INFO]
     2021-10-26T21:04:08.614393710Z: [INFO]  # Enter the source directory to make sure the script runs where the user expects
     2021-10-26T21:04:08.614399010Z: [INFO]  cd "/home/site/wwwroot"
     2021-10-26T21:04:08.614403210Z: [INFO]
     2021-10-26T21:04:08.614407110Z: [INFO]  export NODE_PATH=/usr/local/lib/node_modules:$NODE_PATH
     2021-10-26T21:04:08.614411210Z: [INFO]  if [ -z "$PORT" ]; then
     2021-10-26T21:04:08.614415310Z: [INFO]          export PORT=8080
     2021-10-26T21:04:08.614419610Z: [INFO]  fi
     2021-10-26T21:04:08.614423411Z: [INFO]
     2021-10-26T21:04:08.614427211Z: [INFO]  node /opt/startup/default-static-site.js
     Ending Log Tail of existing logs ---
     

Vyčištění prostředků

V předchozích krocích jste vytvořili prostředky Azure ve skupině prostředků. Kroky pro vytvoření v tomto rychlém startu vloží všechny prostředky v této skupině prostředků. K vyčištění budete muset jenom odebrat skupinu prostředků.

  1. v rozšíření Azure Visual Studio rozbalte průzkumníka skupin prostředků .

  2. Rozbalte předplatné, klikněte pravým tlačítkem na skupinu prostředků, kterou jste vytvořili dříve, a vyberte Odstranit.

    snímek obrazovky Visual Studio Code navigace pro odstranění prostředku, který obsahuje prostředky App Service.

  3. Po zobrazení výzvy potvrďte odstranění zadáním názvu skupiny prostředků, kterou se chystáte odstranit. Po potvrzení se skupina prostředků odstraní a po dokončení se zobrazí oznámení .

V předchozích krocích jste vytvořili prostředky Azure ve skupině prostředků. V závislosti na vašem umístění má skupina prostředků název, jako je například "appsvc_rg_Linux_CentralUS".

Pokud neočekáváte, že tyto prostředky budete potřebovat v budoucnu, odstraňte skupinu prostředků spuštěním následujícího příkazu:

az group delete --no-wait

Příkaz používá název skupiny prostředků uložený v souboru . Azure/config .

--no-waitArgument umožňuje příkazu vrátit se před dokončením operace.

Pokud už je nepotřebujete, můžete odstranit skupinu prostředků, službu App Service a všechny související prostředky.

  1. Na stránce přehled App Service klikněte na skupinu prostředků , kterou jste vytvořili v kroku vytvoření prostředků Azure .

    Skupina prostředků na stránce Přehled App Service

  2. Na stránce Skupina prostředků vyberte Odstranit skupinu prostředků. Potvrďte název skupiny prostředků, abyste dokončili odstraňování prostředků.

    Odstranění skupiny prostředků

Další kroky

Blahopřejeme, úspěšně jste dokončili tento rychlý Start.

Podívejte se na další rozšíření Azure.

Nebo si je můžete stáhnout instalací sady Node Pack pro rozšíření Azure Extension Pack.