Partager via


Déployer une application Web Node.js dans Azure

Dans ce guide de démarrage rapide, vous allez apprendre à créer et déployer votre première application web Node.js (Express) sur Azure App Service. App Service prend en charge diverses versions de Node.js à la fois sur Linux et Windows.

Ce guide de démarrage rapide configure une application App Service dans le niveau Gratuit et n’implique aucun coût pour votre abonnement Azure.

Cette vidéo vous montre comment déployer une application web Node.js dans Azure.

Les étapes de la vidéo sont également décrites dans les sections suivantes.

Configurer votre environnement initial

  • Vous devez disposer d’un compte Azure avec un abonnement actif. Si vous n’en avez pas, vous pouvez créer un compte gratuitement.
  • Installez Node.js LTS. Exécutez la commande node --version pour vérifier que Node.js est installé.
  • Installez Azure CLI, que vous pouvez utiliser pour exécuter des commandes dans un interpréteur de commandes pour créer et configurer des ressources Azure.
  • Vous devez disposer d’un compte Azure avec un abonnement actif. Si vous n’en avez pas, vous pouvez créer un compte gratuitement.
  • Installez Node.js LTS. Exécutez la commande node --version pour vérifier que Node.js est installé.
  • Avoir un client FTP, tel que FileZilla, pour transférer des fichiers vers App Service.

Créer votre application Node.js

Pendant cette étape, vous allez créer une application Node.js de base et vérifier qu’elle s’exécute sur votre ordinateur.

Conseil

Si vous avez déjà terminé le didacticielNode.js, vous pouvez passer à l’étape déployer sur Azure.

  1. Créez une application Node.js à l’aide du générateur d’applications express, qui est installé par défaut avec Node.js et npm.

    npx express-generator myExpressApp --view ejs
    

    Si c’est la première fois que vous avez installé le générateur, npx vous demande d’accepter l’installation.

  2. Accédez au répertoire de l’application et installez les packages npm.

    cd myExpressApp && npm install
    
  3. Mettez à jour les dépendances vers la version la plus sécurisée.

    npm audit fix --force
    
  4. Démarrez le serveur de développement avec les informations de débogage.

    DEBUG=myexpressapp:* npm start
    
  5. Dans un navigateur, accédez à http://localhost:3000. Le résultat suivant devrait s'afficher :

    Capture d’écran d’une application Express s’exécutant dans un navigateur.

Déployer dans Azure

Avant de continuer, assurez-vous que tous les composants requis ont bien été installés et configurés.

Remarque

Pour que votre application Node.js s’exécute dans Azure, elle a besoin d’écouter le port fourni par la variable d’environnement PORT. Dans votre application Express générée, cette variable d’environnement est déjà utilisée dans le script de démarrage bin/www. (Recherchez process.env.PORT.)

Connexion à Azure

  1. Dans le terminal, vérifiez que vous êtes dans le répertoire myExpressApp, puis démarrez Visual Studio Code en utilisant la commande suivante :

    code .
    
  2. Dans Visual Studio Code, dans la barre d’activité, sélectionnez le logo Azure.

  3. Vérifiez que vous êtes connecté avec votre compte Azure.

Configurer l’application App Service et déployer du code

  1. Cliquez avec le bouton droit sur App Services, puis sélectionnez Créer une application web. Un conteneur Linux est utilisé par défaut.

  2. Entrez un nom globalement unique pour votre application web, puis sélectionnez Entrée. Le nom doit être unique dans l’ensemble d’Azure et utiliser uniquement des caractères alphanumériques (A-Z, a-zet ) et 0-9des traits d’union (-).

  3. Dans Sélectionner une pile d’exécution, sélectionnez la version de Node.js souhaitée. Le nœud 24 LTS est recommandé.

  4. Dans Sélectionner un niveau tarifaire, sélectionnez Gratuit (F1) et attendez que les ressources soient créées dans Azure.

  5. Dans le menu contextuel Toujours déployer l’espace de travail « myExpressApp » sur <app-name>, sélectionnez Oui. Procéder ainsi garantit que tant que vous êtes dans le même espace de travail, Visual Studio Code se déploie chaque fois sur la même application App Service.

    Pendant que Visual Studio Code crée les ressources Azure et déploie le code, des notifications de progression s’affichent.

  6. Une fois le déploiement terminé, sélectionnez Parcourir le site web dans la fenêtre contextuelle de notification. Le navigateur doit afficher la page par défaut Express.

Dans le terminal, vérifiez que vous êtes dans le répertoire myExpressApp et déployez le code dans votre dossier local (myExpressApp) à l’aide de la commande az webapp up :

az webapp up --sku F1 --name <app-name>
  • Si la commande az n’est pas reconnue, vérifiez qu’Azure CLI est installé, comme décrit dans Configurer votre environnement initial.
  • Remplacez <app_name> par un nom unique à l’échelle d’Azure. (Les caractères valides sont a-z, 0-9et -.) Un bon modèle consiste à utiliser une combinaison de nom de votre entreprise et d’un identificateur d’application.
  • L’argument --sku F1 crée l’application web sur le niveau tarifaire Gratuit, ce qui n’entraîne aucun coût.
  • Vous pouvez éventuellement inclure l’argument --location <location-name><location_name> est une région Azure disponible. Vous pouvez récupérer une liste de régions autorisées pour votre compte Azure en exécutant la commande az account list-locations.
  • La commande crée une application Linux pour Node.js par défaut. Pour créer plutôt une application Windows, utilisez l’argument --os-type.
  • Si vous voyez l’erreur « Impossible de détecter automatiquement la pile d’exécution de votre application », vérifiez que vous exécutez la commande dans le répertoire myExpressApp (consultez Résolution des problèmes de détection automatique avec az webapp up).

L’exécution de la commande peut prendre quelques instants. Pendant qu’elle s’exécute, elle fournit des messages sur la création du groupe de ressources, du plan App Service et de la ressource d’application, sur la configuration de la journalisation et sur le déploiement du fichier Zip. Il retourne ensuite un message qui inclut l’URL de l’application, qui est l’URL de l’application sur 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 <URL>
{
  "URL": "<URL>",
  "appserviceplan": "<app-service-plan-name>",
  "location": "centralus",
  "name": "<app-name>",
  "os": "<os-type>",
  "resourcegroup": "<group-name>",
  "runtime_version": "node|24",
  "runtime_version_detected": "0.0",
  "sku": "FREE",
  "src_path": "/home/cephas/myExpressApp"
}

Remarque

La commande az webapp up exécute les actions suivantes :

Créer des ressources Azure

  1. Connectez-vous au portail Azure.

  2. Pour commencer la création d’une application Node.js, accédez à https://portal.azure.com/#create/Microsoft.WebSite.

  3. Dans l’onglet De base, sous Détails du projet, vérifiez que l’abonnement approprié est sélectionné, puis sélectionnez Créer pour créer un groupe de ressources. Tapez myResourceGroup comme nom.

    Capture d’écran de la section Détails du projet montrant où vous sélectionnez l’abonnement Azure et le groupe de ressources pour l’application web.

  4. Sous Détails de l’instance, saisissez un nom global unique pour votre application web et sélectionnez Code. Sélectionnez Node 24 LTS dans la pile Runtime, un système d’exploitation et une région à partir de laquelle vous souhaitez servir votre application.

    Capture d’écran de la section Détails de l’instance.

  5. Sous Plans tarifaires, sélectionnez Créer nouveau pour créer un plan App Service. Saisissez myAppServicePlan comme nom. Pour passer au niveau Gratuit, sélectionnez Gratuit F1 dans la liste des plans tarifaires .

    Capture d’écran de la section Plan App Service.

  6. Sélectionnez le bouton Vérifier + créer au bas de la page.

    Capture d’écran montrant le bouton Vérifier + créer dans le bas de la page

  7. Après avoir exécuté la validation, sélectionnez le bouton Créer en bas de la page.

  8. Une fois le déploiement effectué, sélectionnez Accéder à la ressource.

    Capture d’écran montrant le bouton Accéder à la ressource.

Obtenir les informations d'identification FTPS

Azure App Service prend en charge deux types d’informations d’identification pour le déploiement FTP/S. Ces informations d’identification ne sont pas les mêmes que les informations d’identification de votre abonnement Azure. Dans cette section, vous obtenez les informations d'identification à l'échelle de l'application à utiliser avec votre client FTP.

  1. Dans la page de l’application App Service, sélectionnez Centre de déploiement sous Déploiement dans le menu de la barre latérale, puis sélectionnez l’onglet Informations d’identification FTPS .

    Capture d’écran montrant l’onglet Informations d’identification de déploiement FTPS.

  2. Ouvrez votre client FTP et accédez à votre dossier myExpressApp .

  3. Sous l’onglet Informations d’identification FTPS , copiez le point de terminaison FTPS, le nom d’utilisateur et le mot de passe dans votre client FTP.

    Capture d’écran des détails de la connexion FTPS.

  4. Sélectionnez Se connecter dans votre client FTP.

Déployer des fichiers avec FTPS

  1. Copiez tous les fichiers et répertoires dans le répertoire /site/wwwroot dans Azure.

    Capture d’écran du répertoire racine WWW.

  2. Accédez à l’URL de votre application pour vérifier que l’application s’exécute correctement.

Redéployer les mises à jour

Vous pouvez déployer des changements apportés à cette application en effectuant des modifications dans Visual Studio Code, en enregistrant vos fichiers, puis en les redéployant sur votre application Azure. Par exemple :

  1. À partir du projet d'exemple, ouvrez views/index.ejs et modifiez

    <p>Welcome to <%= title %></p>
    

    to

    <p>Welcome to Azure</p>
    
  1. Dans l’explorateur App Service, resélectionnez l’icône Déployer sur l’application web, puis confirmez en resélectionnant Déployer.

  2. Attendez la fin du déploiement, puis sélectionnez Parcourir le site web dans le message de notification. Vous devez voir que le Welcome to Express message a été modifié en Welcome to Azure.

  1. Enregistrez vos modifications, puis redéployez l’application en réutilisant la commande az webapp up sans aucun argument pour Linux. Ajoutez --os-type Windows pour Windows :

    az webapp up
    

    Cette commande utilise des valeurs mises en cache localement dans le fichier .azure/config, notamment le nom de l’application, le groupe de ressources et le plan App Service.

  2. Une fois le déploiement terminé, actualisez la page web. Vous devez voir que le Welcome to Express message a été modifié en Welcome to Azure.

  1. Enregistrez vos modifications, puis redéployez l’application à l’aide de votre client FTP.

  2. Une fois le déploiement terminé, actualisez la page web. Vous devez voir que le Welcome to Express message a été modifié en Welcome to Azure.

Diffuser les journaux d’activité en continu

Vous pouvez diffuser en streaming la sortie de journal (appels à console.log()) à partir de l’application Azure directement dans la fenêtre de sortie Visual Studio Code.

  1. Dans Ressources dans Visual Studio Code, cliquez avec le bouton droit sur le nœud de l’application, puis sélectionnez Démarrer les journaux de streaming.

    Capture d’écran de l’option Démarrer les journaux de streaming.

  2. Si vous êtes invité à redémarrer l’application, sélectionnez Oui. Une fois l’application redémarrée, la fenêtre de sortie Visual Studio Code s’ouvre avec une connexion au flux de journaux.

  3. Après quelques secondes, la fenêtre de sortie affiche un message indiquant que vous êtes connecté au service de streaming de journaux. Vous pouvez générer plus d’activités de sortie en actualisant la page dans le navigateur.

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

Vous pouvez accéder aux journaux de la console générés à l’intérieur de l’application et au conteneur dans lequel elle s’exécute. Les journaux de logs incluent toutes les sorties générées par les appels à console.log().

Pour activer le streaming des journaux, exécutez la commande az webapp log tail :

az webapp log tail

La commande utilise le nom du groupe de ressources mis en cache dans le fichier .azure/config.

Vous pouvez également inclure le paramètre --logs avec la commande az webapp up pour ouvrir automatiquement le flux de journalisation lors du déploiement.

Actualisez l’application dans le navigateur pour générer des journaux de console, qui incluent des messages décrivant les requêtes HTTP envoyées à l’application. Si aucune sortie ne s’affiche immédiatement, réessayez dans 30 secondes.

Vous pouvez arrêter à tout moment le streaming de journaux en appuyant sur Ctrl+C dans le terminal.

Vous pouvez accéder aux journaux de la console générés à l’intérieur de l’application et au conteneur dans lequel elle s’exécute. Vous pouvez diffuser la sortie de log (appels à console.log()) depuis l’application Node.js directement dans le portail Azure.

  1. Dans la même page App Service pour votre application, utilisez le menu de la barre latérale pour faire défiler vers la section Surveillance et sélectionnez Flux de journal.

    Capture d’écran de Flux de journal dans Azure App Service.

  2. Après quelques secondes, la fenêtre de sortie affiche un message indiquant que vous êtes connecté au service de streaming de journaux. Vous pouvez générer plus d’activités de sortie en actualisant la page dans le navigateur.

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

Nettoyer les ressources

Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources. Les étapes de ce guide de démarrage rapide placent toutes les ressources dans ce groupe de ressources. Pour effectuer un nettoyage, il vous suffit simplement de supprimer le groupe de ressources.

  1. Dans l’extension Azure de Visual Studio Code, dans la liste Groupe par , sélectionnez Grouper par groupe de ressources.

  2. Dans la liste Ressources , développez l’abonnement, cliquez avec le bouton droit sur le groupe de ressources que vous avez créé précédemment, puis sélectionnez Supprimer le groupe de ressources.

    Capture d’écran de la navigation dans Visual Studio Code pour supprimer une ressource qui contient des ressources App Service.

  3. À l’invite, confirmez la suppression en entrant le nom du groupe de ressources que vous supprimez. Une fois que vous avez confirmé, le groupe de ressources est supprimé et vous voyez une notification lorsqu’il est terminé.

Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources. Le groupe de ressources a un nom comme appsvc_rg_Linux_CentralUS, selon votre emplacement.

Si vous ne pensez pas avoir besoin de ces ressources à l’avenir, supprimez le groupe de ressources en exécutant la commande suivante :

az group delete --no-wait

La commande utilise le nom du groupe de ressources mis en cache dans le fichier .azure/config.

Avec l’argument --no-wait, la commande peut retourner avant que l’opération ne soit terminée.

Vous pouvez supprimer le groupe de ressources, App Service et toutes les ressources associées quand elles ne sont plus nécessaires.

  1. Dans la page Vue d’ensemble de votre instance App Service, sélectionnez le groupe de ressources que vous avez créé à l’étape Créer des ressources Azure.

    Capture d’écran du groupe de ressources dans la page vue d’ensemble d’App Service.

  2. Dans la page Groupe de ressources, sélectionnez Supprimer un groupe de ressources. Confirmez le nom du groupe de ressources pour terminer la suppression des ressources.

    Capture d’écran du groupe de ressources Supprimer.

Félicitations, vous avez terminé ce démarrage rapide !

Consultez les autres extensions Azure.

Vous pouvez également tous les obtenir en installant le pack d’extension Pack de nœuds pour Azure.