Chapitre 15 · 15.5
Configurer une app Node.js
Votre hébergement ne fait pas tourner que PHP. Avec Setup Node.js App, vous configurez vous-même une application Node.js, par exemple une app Express ou une petite API. Chaque app reçoit sa propre version de Node.js et son propre dossier.
Créer une app
- Dans DirectAdmin, sous Outils, cliquez sur Setup Node.js App.
- Cliquez sur CREATE APPLICATION (1).
- Sous Node.js version (1), choisissez la version. Vous avez le choix entre Node.js 9, 16, 20, 22 et 24. Par défaut, la version 16 est sélectionnée ; choisissez plutôt la version la plus récente prise en charge par votre app, car les versions 9 et 16 ne reçoivent plus de mises à jour.
- Sous Application mode, choisissez Development ou Production. Cela définit la variable NODE_ENV. Pour une app en production, choisissez Production.
- Sous Application root (2), indiquez le dossier dans lequel se trouveront les fichiers de votre app, par exemple apps/monapp. Choisissez un dossier situé en dehors de public_html.
- Sous Application URL (3), choisissez le domaine et éventuellement un chemin, par exemple api pour votredomaine.fr/api. Si vous laissez le chemin vide, l'app fonctionnera sur l'ensemble du domaine.
- Sous Application startup file (4), indiquez le fichier avec lequel votre app démarre, comme app.js ou server.js.
- Ajoutez éventuellement vos propres paramètres sous Environment variables avec ADD VARIABLE.
- Cliquez sur CREATE.



Importer votre code et installer les paquets
- Importez votre code dans le dossier choisi dans Application root, avec le Gestionnaire de fichiers, FTP ou Git (voir Charger et télécharger des fichiers et Git : mettre à jour votre site web à partir d'un dépôt).
- Un fichier package.json se trouve dans ce dossier ? Retournez alors dans Setup Node.js App, cliquez sur le crayon à côté de votre app pour la modifier, puis cliquez sur Run NPM Install. Les paquets seront alors installés.
- Cliquez sur Restart pour démarrer (ou redémarrer) l'app.
Après chaque modification de votre code, cliquez à nouveau sur Restart. Sinon, c'est l'ancienne version qui continuera à tourner.
Bon à savoir
- Votre app doit écouter sur le port que lui attribue le serveur. Utilisez dans votre code process.env.PORT et non un numéro de port fixe.
- L'app fonctionne dans les limites de votre pack (CPU, mémoire, processus ; voir Resource Usage : CPU, mémoire et processus). Pour une app gourmande en ressources, choisissez un pack plus grand.
- Sur un pack avec SSH (voir Clés SSH et connexion via SSH), une commande figure en haut de l'écran de votre app pour activer dans le Terminal la bonne version de Node.js et le bon dossier. Ensuite, node et npm fonctionnent normalement.
- Un site web créé avec un générateur de sites (HTML statique) n'a pas besoin de Node.js. Vous l'importez simplement dans public_html.
Questions fréquentes
Mon app affiche une erreur 503.
L'app ne démarre pas. En général, le fichier de démarrage est incorrect, des paquets manquent (vous avez oublié Run NPM Install) ou il y a une erreur dans le code. Consultez le fichier stderr.log dans le dossier de votre app pour voir le message d'erreur.
Mon app peut-elle tourner toute la journée ?
Oui, tant qu'elle reste dans les limites de votre pack. L'app démarre à la réception d'une requête et s'arrête après un certain temps sans requête. Une app qui doit toujours fonctionner sans visiteurs, comme un bot, convient mieux à un VPS.
Mon app est bloquée et ne répond pas à Stop ou Restart.
Patientez une minute, puis réessayez. Si cela ne fonctionne toujours pas, créez un ticket en indiquant le nom de votre app.
