Ce guide explique comment écrire un service Web Node.js à exécuter dans l'environnement standard App Engine. Pour en savoir plus sur l'environnement d'exécution Node.js et sur son fonctionnement, consultez la page Environnement d'exécution Node.js.
Avant de commencer
Points essentiels
- Vous pouvez utiliser les dépendances en les répertoriant dans votre fichier
package.json
. Pour en savoir plus, consultez la page Spécifier des dépendances. - App Engine démarre votre application en exécutant
npm start
. - Votre serveur doit écouter le port spécifié par
process.env.PORT
, une variable d'environnement définie par l'environnement d'exécution App Engine. - Vous avez besoin d'un fichier
app.yaml
pour déployer votre service sur App Engine.
Créer un serveur pour écouter les requêtes HTTP
Le serveur HTTP est au cœur de votre service Web. L'exemple de code figurant dans ce guide gère les requêtes HTTP à l'aide du framework Express.js, mais vous êtes libre d'utiliser le framework Web de votre choix.
Créez un dossier nommé
my-nodejs-service
pour votre service Node.js.Accédez au dossier de votre terminal et créez un fichier
package.json
en exécutantnpm init
.Exécutez la commande suivante afin d'ajouter Express comme dépendance :
npm install express
Vérifiez qu'Express apparaît dans le champ
dependencies
du fichierpackage.json
. Exemple :{ ... "dependencies": { "express": "^4.16.3" } ... }
Ajoutez un script
start
au fichierpackage.json
:"scripts": { "start": "node server.js" }
Créez un fichier nommé
server.js
dans le même dossier et ajoutez le code suivant :
Il s'agit d'un serveur Web très basique : il répond à toutes les requêtes GET
envoyées au chemin racine ('/'
) avec le texte "Hello from App Engine!" Notez les quatre dernières lignes, qui configurent le serveur pour écouter le port spécifié par process.env.PORT
, une variable d'environnement définie par l'environnement d'exécution App Engine. Si le serveur n'est pas configuré pour écouter ce port, il ne recevra pas de requêtes.
Notez que si process.env.PORT
n'est pas défini, le port 8080
est utilisé par défaut. Cela est nécessaire pour tester l'application localement, car la variable d'environnement process.env.PORT
n'est pas définie pendant les exécutions locales. Elle n'est définie que lorsque l'application s'exécute sur App Engine. Vous pouvez employer le port de votre choix pour les tests, mais ce guide utilise le port 8080
.
Exécuter le serveur localement
Pour exécuter le serveur localement :
Exécutez
npm start
dans votre terminal. Cela exécutera le fichierserver.js
.Dans votre navigateur Web, accédez à l'URL
http://localhost:8080
.
Une page contenant le texte "Hello from App Engine!" doit s'afficher.
Créer le fichier app.yaml
Un fichier app.yaml
spécifie les paramètres de l'environnement d'exécution de votre service App Engine. Le déploiement de ce dernier est impossible sans ce fichier.
Dans votre dossier
my-nodejs-service
, créez un fichier appeléapp.yaml
.Ajoutez-y ce qui suit :
Il s'agit d'un fichier spécifiant une configuration minimale, qui indique à App Engine la version de l'environnement d'exécution Node.js. Le fichier
app.yaml
peut également spécifier des paramètres réseau, des paramètres de scaling, etc. Pour en savoir plus, consultez la documentation de référence surapp.yaml
.
À ce stade, vous devriez disposer d'une structure de fichiers de ce type :
my-nodejs-service/
app.yaml
package.json
server.js
Étapes suivantes
Maintenant que vous avez créé un serveur Web Node.js simple, qui écoute le port approprié, et que vous avez spécifié l'environnement d'exécution dans un fichier app.yaml
, vous êtes prêt à déployer votre service sur App Engine.
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances d'App Engine en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
Profiter d'un essai d'App Engine sans frais