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


Définition

Comment utiliser le gestionnaire d'application Node.js sur un hébergement CPANEL

Le gestionnaire d'application Node.js de CPANEL vous permettra d'installer une application Node.js avec les versions 6.x, 8.x, 9.x ou 10.x.
Il vous offre une interface utilisateur conviviale qui vous aidera à vous familiariser plus rapidement avec Node.js.

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.

Pour aller plus loin

Aller plus loin

Variables d'environnement : Généralement, les variables de projet sont globales et sont ajoutées à un fichier .env dans le répertoire de votre projet.  vous pouvez configurer des variables d'environnement à partir de la page de configuration de chaque application. de cette façon, vous pouvez avoir la même variable pour différentes applications représentant différentes valeurs. pour ajouter une variable d'environnement il faut cliquer sur le bouton ADD VARIABLE et remplir les champs Name et  Value correspondant.

Par exemple, vous pouvez ajouter une variable PORT avec le numéro du port comme valeur pour l'une de vos applications, puis utiliser la même variable PORT avec une valeur différente pour une autre application.

Vous pouvez entrer dans l'environnement virtuel de votre application via le terminal en utilisant la commande qui se trouve en dessous de  la phrase  Command for entering to virtual environment  vous pourriez ainsi utiliser toutes les commandes NPM, et créer votre fichier package json en ligne de commande.

 

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

Notez cet article

Vous avez noté 0 étoile(s)

Cet article a été lu 32058 fois.

Note : 3.2 / 5 - 14 avis.

comments powered by Disqus
Top