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.
