Comment utiliser une application Node.js sur un hébergement cPanel

Procédure

Qu'est-ce que Node.js ?

Node.js est un environnement d'exécution open-source et multiplateforme vous permettant de créer un site web ou une application et de l'héberger sur un serveur, avec le langage JavaScript. Sur nos formules cPanel et CloudCP, nous vous mettons à disposition le gestionnaire d'application Node.js vous permettant de mettre en place une application Node.js sur votre formule d'hébergement web cPanel. Vous avez à disposition de la version 6.x jusqu'à la version 20.x inclus de Node.js.

Qu'est-ce que Phusion Passenger ?

Pour mettre à disposition à nos clients un environnement stable et robuste pour Node.js, nous intégrons vos applications Node.js avec le service web Apache grâce à l'outil Phusion Passenger.

Nous ne mettons pas en place un reverse proxy, et les applications Node.js ne peuvent pas s'exécuter en standalone avec son propre serveur web. Si vous avez l'habitude d'exécuter votre serveur Node.js avec une commande tel que npm run start ou pm2 start myapp, vous ne serez pas en mesure de faire cela sur nos formules d'hébergement cPanel. Si vous utilisez un framework, renseignez-vous de sa compatibilité avec Phusion Passenger.

Comment installer une application Node.js ?

Connectez-vous à votre interface de gestion cPanel et cliquez sur l'icône "Setup Node.js App".

Comment utiliser une application Node.js sur un hébergement cPanel

Dans la page qui s'ensuit, cliquer sur le bouton "Create Application" pour ajouter une nouvelle application.

Comment utiliser une application Node.js sur un hébergement cPanel

Remplissez ensuite les champs conformément aux besoins de votre application :

  • Node.js version : la version de Node.js que votre application requiert.
  • Application mode : permet de définir le mode d'exécution de votre application, soit en mode développeur, soit en mode production. Cela manipule la variable d'environnement NODE_ENV et permet ainsi, en mode développeur, d'afficher les erreurs (ce qui est utile pour des fins de débogage, mais peut également être problématique pour une application en production).
  • Application root : l'emplacement de votre application Node.js, par rapport à votre racine FTP. Nous vous recommandons de ne pas mettre votre application Node.js dans le dossier public_html.
  • Application URL : l'URL racine de votre application Node.js.
  • Application startup file : le nom du fichier .js que Passenger communiquera à Node.js pour démarrer votre application.

Comment utiliser une application Node.js sur un hébergement cPanel

Cliquez ensuite sur le bouton "Create" une fois que votre application a été paramétrée.

Si votre application startup file n'existe pas encore, l'outil va créer immédiatement ce fichier avec un contenu à titre d'exemple. Cet exemple affichera « It works! » sur toutes les requêtes HTTP associés à celui-ci.

Voici le contenu de ce script d'exemple :

var http = require('http');
var server = http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    var message = 'It works!\n',
        version = 'NodeJS ' + process.versions.node + '\n',
        response = [message, version].join('\n');
    res.end(response);
});
server.listen();

Vous pouvez également éditer le fichier package.json depuis l'interface pour ajouter des dépendances et installer ces dépendances avec le bouton « Run NPM Install » :

Comment utiliser une application Node.js sur un hébergement cPanel

Notez qu'il faut redémarrer votre application si ses dépendances ont été modifiées.

Vous pouvez également définir des variables d'environnement dans la section Environment variables si votre application repose sur ces derniers pour obtenir certains paramètres.

Accéder à votre application depuis le terminal

L'utilisation du terminal en ligne de commande est partie intégrante de l'écosystème Node.js. Pour accéder à l'environnement de votre application depuis le terminal, connectez-vous à celui-ci (depuis le terminal web cPanel ou depuis un client SSH) et copiez la commande indiquée pour entrer dans l'environnement de votre application :

Comment utiliser une application Node.js sur un hébergement cPanel

Cette action activera automatiquement le bon environnement virtuel pour votre application, incluant ainsi la bonne version de Node.js et NPM, ainsi que les dépendances installées dans l'environnement (au lieu d'être installé dans le dossier « node_modules » de votre dossier d'applications).

Déboguer une application Node.js

Pour déboguer une application Node.js, vous pouvez consulter le log d'erreur Apache. Le fichier log d'erreurs Apache contient :

  • La sortie STDOUT et STDERR de l'application Node.js
  • Les erreurs liées à Passenger
  • Les erreurs liées à Apache

Si vous avez défini manuellement la valeur PassengerLogFile dans le fichier .htaccess de votre site, la sortie STDOUT et STDERR ainsi que les erreurs liées à Passenger sont envoyés dans ce fichier au lieu du fichier log Apache.

Vous pouvez aussi mettre la valeur PassengerFriendlyErrorPages sur on dans votre fichier .htaccess pour afficher directement sur le navigateur web les erreurs liés au démarrage de votre application Node.js.

Erreurs courantes sur Node.js

Error: /lib64/libstdc++.so.6: version 'CXXABI_X.X.X' not found

Raisons possibles : Votre application Node.js (ou l'une de ses dépendances) requiert une fonctionnalité spécifique dans la librairie C++, qui n'est actuellement pas présente sur le serveur en question. Ceci peut arriver sur nos formules cPanel muni du système d'exploitation CloudLinux 7 (un système d'exploitation basé sur CentOS / RHEL 7) alors que l'une de vos dépendances requiert RHEL 8 / CentOS 8 ou ultérieur.

Solution : Vous pouvez ouvrir une demande auprès du support pour demander à être migré sur un serveur muni d'un système d'exploitation CloudLinux 8.

Processus arrêté lors de l'exécution de npm install

Raisons possibles : Votre processus peut être arrêté par le serveur si celui-ci s'exécute au-delà du temps d'exécution et/ou quantité de ressource (CPU, RAM ...) autorisé sur votre formule d'hébergement. Vous pouvez consulter l'historique d'arrêt de processus depuis notre outil « Journaux » disponible depuis votre interface cPanel.

Solution : Vous pouvez limiter la mémoire RAM utilisée par npm avec la variable d'environnement NODE_OPTIONS comme suit :

NODE_OPTIONS='--max-old-space-size=2048' npm install

Cet exemple montre, par exemple, une limitation à 2048 Mio (2 Gio).

Specified directory already used by /home/$USER/public_html/monapp lors de la création depuis Setup Node.js App

Raisons possibles :

  • Une application Node.js, Python ou Ruby publiée sur le dossier indiqué existe déjà.
  • L'application root et l'application URL spécifié pointe sur le même dossier.

Solutions :

  • Vérifiez qu'aucune application Node.js, Python ou Ruby n'est publiée sur le dossier indiqué. Vous pouvez consulter le fichier .htaccess du dossier en question depuis le gestionnaire de fichiers ou votre client FTP habituel pour identifier rapidement cela.
  • Assurez-vous que les fichiers de votre application (les fichiers .js, package.json ...) indiqué par application root ne se trouvent pas dans le dossier de publication indiqué par application URL. Contrairement aux applications PHP, les fichiers d'une application Node.js n'a pas besoin et ne devrait pas se trouver dans public_html.

Rate this article :

3.2/5 | 14 opinion

This article was useful to you ?

Article utileYes

Article non utileNo

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Similar articles

1mn reading

Comment utiliser une application Python sur un hébergement cPanel

1mn reading

Comment utiliser une application Ruby sur un hébergement cPanel


Questions sur l'article
ckothor7 Il y a 611 days
Peut-on deployer une application angular sur vos serveurs ??
See the
1 answers
Benjamin-LWS - Il y a 610 days

Bonjour,

Merci de votre retour.

Il est tout à fait possible de déployer une application sous Angular.js sur nos formules cPanel.

Pour ce faire, rendez-vous dans sur votre cPanel et chercher : "Softaculous Apps Installer"

Puis dans la nouvelle page qui s'ouvre, rechercher dans la barre de recherche en haut à gauche "Angular". Et vous pourrez installer Angular sur votre cPanel.

Je vous remercie de votre attention et reste à votre disposition pour toute autre question ou complément d'information.

Nous vous invitons à contacter notre service support à travers votre espace client, afin de vous apporter une aide si vous rencontrez des difficultés quelconque. (https://aide.lws.fr/a/268)

Cordialement, L'équipe LWS 

Utile ?
NourMaher Il y a 501 days
Pourquoi J'arrive pas a creer l'application???
See the
1 answers
Aurelien-LWS - Il y a 500 days

Bonjour, 

Je vous remercie pour votre message. 

Les raisons qui vous empêchent de créer ou de faire fonctionner une application Node.JS peuvent être nombreuses et nécessite d'avoir plus d'informations pour être analysé précisément.

Je vous invite à contacter notre équipe d'assistance technique depuis la rubrique "assistance" de votre espace client afin qu'un agent prenne en charge votre demande et résolve votre problème.

Cordialement, L'équipe LWS 

Utile ?

Ask the LWS team and its community a question