¿Cómo vincular nodejs para que se inicie automáticamente al arrancar en Linux?
forever es una herramienta para administrar la ejecución en segundo plano de programas Node.js. Es muy sencillo de usar para administrar Node.js en la terminal de línea de comandos
#!/bin. /bash
# chkconfig: 345 88 08
# descripción: Para siempre para Node.js
DEAMON=/home/www/jsgen/app.js
LOG= /home/www/jsgen/mylogs/forever.log
PID=/root/.forever/pids/forever.pid
exportar PATH= $PATH:/usr/bin/ node/bin
exportar NODE_PATH=$NODE_PATH:/usr/bin/node/lib/node_modules
node=nodo
forever=forever
caso "$1" en
inicio)
$forever start -l $LOG --pidFile $PID -a $DEAMON p>
;;
detener)
$para siempre --pidFile $PID $DEAMON
;;
detener todo )
$para siempre detener todo --pidFile $PID
;;
reiniciar todo)
$forever reiniciar todo --pidFile $PID
;;
recargar|reiniciar)
$reiniciar siempre -l $LOG --pidFile $PID -a $DEAMON
; ;
lista)
$forever lista
;;
*)
echo "Uso: / etc.init.d/node { inicio|detener|reiniciar|recargar|stopall|restartall|list}"
salida 1
;;
esac
Este script es el archivo permanente en el directorio jsGen. La ruta relevante en el script es la ruta del software del servidor comunitario chino AngularJS.
El comando para habilitar este script es el siguiente (suponiendo que ya haya clonado git jsGen):
cd jsgen
cp forever /etc/init.d /forever
chmod 755 /etc/init.d/forever
chkconfig --add forever
chkconfig para siempre activado
Intenta reiniciar el servidor, jsGen finalmente comenzó a ejecutarse automáticamente. ¿Por qué un método que antes funcionaba ya no funciona? Yo tampoco estoy seguro. . .
La clave del problema esta vez es: el comando siempre probablemente no se encontró cuando el script se ejecutó automáticamente después de que se inició el sistema centos, por lo que la parte más crítica del script anterior es:
export PATH=$ RUTA:/usr/bin /node/bin
forever=forever
Luego el script ejecuta $forever. El sistema centos se resuelve de esta forma.