Cette traduction fournie par StrongLoop / IBM.
Il se peut que ce document soit obsolĂšte par rapport Ă la documentation en anglais. Pour connaĂźtre les mises Ă jour les plus rĂ©centes, reportez-vous Ă la documentation en anglais.Quand vous exĂ©cutez lâapplication Express pour la production, utilisez un gestionnaire de processus car celui-ci peut vous permettre :
Un gestionnaire de processus est quelque sorte un âconteneurâ dâapplications qui facilite le dĂ©ploiement, offre une haute disponibilitĂ© et vous permet de gĂ©rer lâapplication lors de son exĂ©cution.
Les gestionnaires de processus les plus populaires pour Express et dâautres applications Node.js sont les suivants :
Lâutilisation dâun de ces trois outils peut ĂȘtre trĂšs utile, cependant le gestionnaire de processus StrongLoop est le seul qui fournisse un dĂ©lai dâexĂ©cution exhaustif ainsi quâune solution de dĂ©ploiement qui sâadresse Ă lâintĂ©gralitĂ© du cycle de vie de lâapplication, avec des outils pour chaque Ă©tape avant et aprĂšs la production, le tout dans une interface unifiĂ©e.
Voici un bref aperçu de chacun de ces outils. Pour une comparaison détaillée, voir http://strong-pm.io/compare/.
Le gestionnaire de processus StrongLoop (StrongLoop PM) est un gestionnaire de processus de production pour les applications Node.js. StrongLoop PM possĂšde un Ă©quilibrage de charge, une surveillance et un dĂ©ploiement multi-hĂŽte, ainsi quâune console graphique intĂ©grĂ©s. Vous pouvez utiliser StrongLoop PM pour les tĂąches suivantes :
Vous pouvez utiliser StrongLoop PM en passant par un puissant outil dâinterface de ligne de commande appelĂ© slc
, ou un outil graphique appelé Arc. Arc est un code source ouvert, avec une prise en charge professionnelle fournie par StrongLoop.
Pour plus dâinformations, voir http://strong-pm.io/.
Documentation complĂšte :
$ [sudo] npm install -g strongloop
$ cd my-app
$ slc start
Afficher le statut du gestionnaire de processus ainsi que de toutes les applications déployées :
$ slc ctl
Service ID: 1
Service Name: my-app
Environment variables:
No environment variables defined
Instances:
Version Agent version Cluster size
4.1.13 1.5.14 4
Processes:
ID PID WID Listening Ports Tracking objects? CPU profiling?
1.1.57692 57692 0
1.1.57693 57693 1 0.0.0.0:3001
1.1.57694 57694 2 0.0.0.0:3001
1.1.57695 57695 3 0.0.0.0:3001
1.1.57696 57696 4 0.0.0.0:3001
Lister toutes les applications (services) sous gestion :
$ slc ctl ls
Id Name Scale
1 my-app 1
ArrĂȘter une application :
$ slc ctl stop my-app
Redémarrer une application :
$ slc ctl restart my-app
Vous pouvez Ă©galement âredĂ©marrer en douceurâ, ce qui donne aux processus de traitement un dĂ©lai supplĂ©mentaire afin de fermer les connexions existantes, et permet un redĂ©marrage des applications en cours :
$ slc ctl soft-restart my-app
Supprimer une application de la gestion :
$ slc ctl remove my-app
PM2 est un gestionnaire de processus de production pour les applications Node.js, qui possĂšde un Ă©quilibreur de charge intĂ©grĂ©. PM2 vous permet de conserver des applications avec une durĂ©e de vie illimitĂ©e et de les recharger sans temps dâarrĂȘt, ce qui facilite les tĂąches de lâadministrateur systĂšme commun. PM2 vous permet Ă©galement de gĂ©rer la journalisation, la surveillance et le regroupement de lâapplication.
Pour plus dâinformations, voir https://github.com/Unitech/pm2.
$ [sudo] npm install pm2 -g
Quand vous démarrez une application en utilisant la commande pm2
vous devez indiquer le chemin dâaccĂšs de
lâapplication. Cependant, quand vous arrĂȘtez, redĂ©marrez ou supprimez
une application, vous pouvez nâindiquer que le nom ou lâID de
lâapplication.
$ pm2 start npm --name my-app -- start
[PM2] restartProcessId process id 0
ââââââââââââŹâââââŹâââââââŹââââââââŹâââââââââŹââââââââââŹâââââââââŹââââââââââââââŹâââââââââââ
â App name â id â mode â pid â status â restart â uptime â memory â watching â
ââââââââââââŒâââââŒâââââââŒââââââââŒâââââââââŒââââââââââŒâââââââââŒââââââââââââââŒâââââââââââ€
â my-app â 0 â fork â 64029 â online â 1 â 0s â 17.816 MB â disabled â
ââââââââââââŽâââââŽâââââââŽââââââââŽâââââââââŽââââââââââŽâââââââââŽââââââââââââââŽâââââââââââ
Use the `pm2 show <id|name>` command to get more details about an app.
Quand vous dĂ©marrez une application Ă lâaide de la
commande pm2
, lâapplication est immĂ©diatement
envoyĂ©e en arriĂšre-plan. Vous pouvez contrĂŽler lâapplication
en arriĂšre-plan Ă partir de la ligne de commande en utilisant diverses
commandes pm2
.
AprĂšs quâune application a Ă©tĂ© dĂ©marrĂ©e en utilisant la
commande pm2
, elle est enregistrée dans la liste
de processus de PM2 avec un ID. Vous pouvez donc gérer les
applications avec le mĂȘme nom Ă partir de rĂ©pertoires diffĂ©rents
dans le systĂšme, en utilisant leurs ID.
Notez que si plusieurs application avec le mĂȘme nom sont en
cours dâexĂ©cution, les commandes pm2
les
affecteront toutes. Il vaut donc mieux utiliser les ID plutĂŽt que les
noms pour gérer les applications individuelles.
Lister tous les processus en cours :
$ pm2 list
ArrĂȘter une application :
$ pm2 stop 0
Redémarrer une application :
$ pm2 restart 0
Pour afficher les informations dĂ©taillĂ©es dâune application :
$ pm2 show 0
Pour supprimer une application du registre PM2 :
$ pm2 delete 0
Forever est un simple outil dâinterface de ligne de commande qui permet de sâassurer quâun script donnĂ© est exĂ©cutĂ© de façon continue (forever). Lâinterface simple de Forever en fait un outil idĂ©al pour exĂ©cuter des dĂ©ploiements plus petits des applications et des scripts de Node.jps.
Pour plus dâinformations, voir https://github.com/foreverjs/forever.
$ [sudo] npm install forever -g
Pour démarrer un script, utilisez la commande forever start
et indiquez le chemin dâaccĂšs du script :
$ forever start script.js
Cette commande exĂ©cutera le script en mode dĂ©mon (Ă lâarriĂšre-plan).
Pour exĂ©cuter le script de façon Ă ce quâil soit joint au terminal, il ne faut pas prendre en compte start
:
$ forever script.js
Câest une bonne idĂ©e de consigner votre sortie du script et de
lâoutil Forever en utilisant les options de consignation -l
, -o
et -e
, comme illustrĂ© dans lâexemple suivant :
$ forever start -l forever.log -o out.log -e err.log script.js
Pour visualiser la liste des scripts qui ont été démarrés par Forever :
$ forever list
Pour arrĂȘter un script qui a Ă©tĂ© dĂ©marrĂ© par Forever, utilisez
la commande forever stop
et indiquez lâindex de
processus (tel quâil est listĂ© par la commande forever list
).
$ forever stop 1
Sinon, indiquez le chemin dâaccĂšs du fichier :
$ forever stop script.js
Pour arrĂȘter tous les scripts qui ont Ă©tĂ© dĂ©marrĂ©s par Forever :
$ forever stopall
Forever possĂšde beaucoup dâautres options, et il fournit Ă©galement une API programmable.