Select your language

Node.js est une plateforme permettant d’exécuter des applications côté serveur basées sur JavaScript. Nous proposons Node.js en plusieurs versions sur nos Managed Flex Servers. Ce manuel décrit comment mettre en service une application Node.js sur votre Managed Flex Server.

Exigences

Les applications Node.js peuvent être mises en service à partir de Managed Flex Server M.

Création d’une application Node.js

Pour l’exemple, nous voulons coder une application Web «Hello World». Afin de la rendre disponible en tant que site Web sur Internet, nous l’exploiterons comme backend d’un proxy inverse nginx.

Nous vous conseillons de créer un dossier ~/app/ pour vos propres applications et d’y créer un sous-dossier pour chacune d’entre elles. Vous avez ainsi toujours un ordre propre et un aperçu clair. Pour notre application exemple, nous créons donc le dossier ~/app/hello-world.

Placez maintenant le code à cet endroit. Pour notre application exemple, il faut un fichier avec le contenu suivant, que nous nommons hello.js.​

~/app/hello-world/hello.js
var http = require('http');
var server = http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
});
server.listen(8080, '127.0.0.1');
console.log('Server running on port 8080');

Comme vous le voyez, hello.js crée un listening socket et attend les requêtes http. Nous choisissons l’adresse IP 127.0.0.1 parce que nous ne voulons pas exposer notre application directement sur Internet, mais nous utilisons plutôt nginx comme proxy pour cela. La fonction proxy de nginx s’attend à ce que votre application soit atteignable sur cette adresse IP. Vous êtes généralement libre pour le choix du port. Tous les ports entre 1024 et 65535 sont possibles. Notez cependant, qu’un seul listening socket peut être créé par port et que le démarrage de votre application échouerait si le port sélectionné était déjà occupé. La bonne tactique est donc d’éviter les ports qui sont couramment utilisés par d’autres applications.

Conseil: Sachez que la désignation «localhost» référence deux adresses: l’adresse loopback IPv4 127.0.0.1 ainsi que l’adresse loopback IPv6 ::1. Selon la façon dont vous ou votre application (p. ex. bibliothèque ou langage) implémentez l’instruction «listen», votre application écoutera ainsi différentes interfaces. Si vous voulez éviter cela, saisissez directement l’adresse IP.

Notre application exemple ne nécessite aucun module NPM supplémentaire. Si votre application en a besoin, vous pouvez la faire installer normalement par NPM. Pour cela, connectez-vous via SSH dans votre hébergement, allez dans votre répertoire d’application et installez les modules souhaités avec npm install.

Vous pouvez maintenant démarrer l’application exemple avec node hello.js. Pour terminer, appuyez-sur Ctrl-C:

node hello.js
Server running on port 8080
^C

Intégration

Comme notre exemple traite d’une application Web qui devrait généralement être accessible via http(s), vous devez configurer votre serveur Web dans le panel de sorte qu’il transfère les requêtes en tant que proxy vers votre nouvelle application Node.

Configurer le serveur Web

Dans votre control panel, créez un site Web avec le réglage initial «Proxy Nginx sur application propre»:

Nodejs

Adresse et port du serveur
La fonction proxy s’attend à ce que votre application écoute l’adresse loopback IPv4 127.0.0.1. Vous devez donc uniquement indiquer le port ici: 8080.

Si vous souhaitez modifier l'adresse du serveur Backend ou en ajouter une nouvelle sur un site Web existant, vous pouvez trouver le paramètre sous «Sites Web» > «Modifier» > «Emplacements» > «Réglages proxy» > «Serveur Backend».

NodeJS Backend Server Adresse 01 fr

NodeJS Backend Server Adresse 02 fr

Fonctionnement avec le Custom Service Control

Vous avez jusqu’à présent démarré votre application manuellement via le shell. Bien que cela puisse être un moyen facile lors du test et du développement, il ne s’agit pas d’une option viable pour le fonctionnement productif. Le Custom Service Control (CSC) peut s’occuper du fonctionnement et de la gestion automatique de votre application, par exemple le démarrage et l’arrêt pendant les travaux de maintenance sur votre serveur.

La configuration de l’appli hello.js dans le CSC est très simple. Pour ce faire, créez un nouveau custom service pour l’application hello.js:

hpservices supervisord add hello-world
successfully created dir for hello.js: /home/username/.services/supervisord/hello-world
successfully created dir for hello.js: /home/username/.services/supervisord/hello-world/log
successfully created dir for hello.js: /home/username/app/hello-world
supervisord service config file written: /home/username/.services/supervisord/hello-world/service.conf

Un cadre de configuration pour le nouveau service est alors créé dans le fichier ~/.services/supervisord/hello-world/service.conf. Il nous faut juste ajuster la command pour notre application Hello World. Autrement, nous pouvons reprendre toutes les valeurs suggérées.

Pour Node.js la commande doit être adaptée et quelques variables d'environnement doivent être ajoutées (enlever le point-virgule au début de la ligne)... :

~/.services/supervisord/hello-world/service.conf
[program:hello-world]
command=/usr/local/bin/node %(ENV_HOME)s/app/hello-world/hello.js  ; the program (can take args)
directory=%(ENV_HOME)s/app/hello-world/     ; directory to cwd to before exec (default no cwd)
autostart=true                ; start application at supervisord start (default: true)
stopwaitsecs=10               ; max num secs to wait before SIGKILL (default 10)
stdout_logfile=%(ENV_HOME)s/.services/supervisord/hello-world/log/default.log
stdout_logfile_maxbytes=1MB   ; filesize at which to rotate logfiles (default ist 50MB)
stdout_logfile_backups=10     ; number of stdout logfile backups (0 means none, default 10)
stderr_logfile=%(ENV_HOME)s/.services/supervisord/hello-world/log/default.err
stderr_logfile_maxbytes=1MB   ; filesize at which to rotate logfiles (default is 50MB)
stderr_logfile_backups=10     ; number of stderr logfile backups (0 means none, default 10)

supervisorctl update vous permet d’activer la nouvelle configuration pour notre application Hello World:

supervisorctl update
hello-world: added process group

Attention: En cas d'erreur, "hpservices supervisord start" doit d'abord être exécuté une fois.

Pour de plus amples détails sur l’utilisation et les possibilités qui vous sont offertes par le CSC, consultez le manuel du Custom Service Control.

Informations complémentaires

Merci de n'utiliser ce formulaire que pour donner du feedback sur la procédure ci-dessus.
Pour envoyer une demande d'assistance au support, merci d'utiliser ce formulaire-ci.

 

 

© 2001 - Hostpoint AG
Cookie

Wir verwenden Cookies  🍪

We use Cookies  🍪

Nous utilisons des cookies  🍪

Utilizziamo dei cookie  🍪

Die digitalen Auftritte von Hostpoint (Website, Control Panel, Support Center etc.) verwenden Cookies. Diese werden dazu verwendet, um Daten über Besucherinteraktionen zu sammeln. Wenn Sie auf «Akzeptieren» klicken, stimmen Sie der Verwendung dieser Cookies für Werbezwecke, Website-Analyse und Support zu. Gewisse essenzielle Cookies sind jedoch für eine ordnungsgemässe Funktion dieser Seiten unerlässlich und können deshalb nicht deaktiviert werden. Auch ohne Ihre Zustimmung können gewisse Daten in anonymisierter Form für statistische Zwecke und zur Verbesserung unserer Websites verwendet werden. Bitte beachten Sie unsere Datenschutzerklärung.

Hostpoint's digital presences (website, Control Panel, Support Center, etc.) use cookies. These are used to collect data on visitor interactions. If you click “Accept”, you agree to the use of these cookies for advertising purposes, website analysis and support. However, certain cookies are essential for the proper functioning of these pages and therefore cannot be disabled. Even without your consent, certain data may be used in anonymized form for statistical purposes and to improve our websites. Please note our Privacy policy.

Le sites Web de Hostpoint (site Web, Control Panel, Centre d'assistance, etc.) utilisent des cookies. Ces cookies servent à collecter des données sur les interactions des visiteurs. En cliquant sur «Accepter», vous consentez à l’utilisation de ces cookies à des fins de publicité, d’analyse du site Web et d’assistance. Certains cookies essentiels sont cependant indispensables au bon fonctionnement de notre sites Web et ne peuvent donc pas être désactivés. Même sans votre consentement, certaines données peuvent être utilisées sous forme anonymisée à des fins statistiques et pour améliorer notre sites Web. Veuillez prendre connaissance de notre Déclaration de protection des données.

Le presenze digitali di Hostpoint (sito web, Pannello di controllo, Support Center, ecc.) utilizzano i cookie. Questi vengono utilizzati per raccogliere dati sulle interazioni dei visitatori. Facendo clic su «Accetta», acconsente all’utilizzo di questi cookie per scopi pubblicitari, di analisi del sito web e di supporto. Alcuni cookie essenziali sono tuttavia indispensabili per il corretto funzionamento di questi siti web e pertanto non possono essere disattivati. Anche senza il Suo consenso, determinati dati potrebbero essere utilizzati in forma anonima per fini statistici e per l’ottimizzazione dei nostri siti web. Si prega di tenere conto della nostra Dichiarazione per la pivacy.

Ablehnen
Decline
Refuser
Rifiuta
Akzeptieren
Accept
Accepter
Accetta