Ejecutar Node.js en un servidor de producción

Forever, es una librería de Node.js para ejecutar continuamente servicios Node en GNU/Linux. Es to es útil cuando queremos dejar una aplicación en producción y el servicio tiene que estar todo el tiempo ejecutándose incluso después de reiniciado el servidor.

Paso 1. Instalar Forever
Se instala a través del gestor de paquetes de Node, npm:

[myserver]# sudo npm install forever -g

Paso 2. Iniciar Forever
Si tenemos un archivo test.js y queremos iniciarlo, lo que debemos hacer es:

[myserver]# forever start test.js

Paso 3. Listar procesos Forever
Una vez iniciado, podemos listar todos los procesos asociados a forever con:

[myserver]# forever list
info:    Forever processes running
data:        uid  command       script forever pid   id logfile                 uptime
data:    [0] QKv_ /usr/bin/node test.js 30751   30757    /root/.forever/QKv_.log 26:1:41:16.549

Paso 4. Detener procesos Forever
Cuando haciamos un forever list, nos aparecía la lista de procesos con un identificador entre corchetes, en el caso anterior: [0] porque sólo teníamos un proceso arrancado. Para finalizar o detener la ejecución del proceso, pasamos como parámetro el número de proceso a finalizar:

[myserver]# forever stop 0

Podemos ver otros comandos con:

[myserver]# forever --help
help:    usage: forever [action] [options] SCRIPT [script-options]
help:
help:    Monitors the script specified in the current process or as a daemon
help:
help:    actions:
help:      start               Start SCRIPT as a daemon
help:      stop                Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script
help:      stopall             Stop all running forever scripts
help:      restart             Restart the daemon SCRIPT
help:      restartall          Restart all running forever scripts
help:      list                List all running forever scripts
help:      config              Lists all forever user configuration
......
Share on FacebookTweet about this on TwitterShare on Google+

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *