node.js - servidor - npm
Cómo ejecutar el nodo js incluso en el reinicio del servidor (1)
Puede agregar el comando forever en .bash_profile
para que cada vez que se reinicie el servidor, su comando simplemente también se ejecute.
nano ~/.bash_profile
forever start app.js # add this command to the file, or whatever command you are using.
source ~/.bash_profile # very important, else changes will not take effect
La próxima vez, en el reinicio de su servidor, su comando también se ejecutará, creando un daemon de su script de nodo.
Nota: Esta quizás no es la mejor solución, pero la que tengo.
Actualizar
Como @dlmeetei, sugirió, también puede iniciar su aplicación nodejs como un servicio para que podamos usar las características proporcionadas por un servicio de Linux.
Primero crea un archivo en /etc/systemd/system
, como:
touch /etc/systemd/system/[your-app-name].service
nano /etc/systemd/system/[your-app-name].service
Luego, agregue y edite la siguiente secuencia de comandos de acuerdo con su relevancia.
[Unit]
Description=Node.js Example Server
#Requires=After=mysql.service # Requires the mysql service to run first
[Service]
ExecStart=/usr/local/bin/node /opt/nodeserver/server.js
# Required on some systems
# WorkingDirectory=/opt/nodeserver
Restart=always
# Restart service after 10 seconds if node service crashes
RestartSec=10
# Output to syslog
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodejs-example
#User=<alternate user>
#Group=<alternate group>
Environment=NODE_ENV=production PORT=1337
[Install]
WantedBy=multi-user.target
Habilite el servicio, marcará el servicio para iniciarse al arrancar.
systemctl enable [your-app-name].service
Administrar el servicio
systemctl start [your-app-name].service
systemctl stop [your-app-name].service
systemctl status [your-app-name].service # ensure your app is running
systemctl restart [your-app-name].service
Referencia: https://www.axllent.org/docs/view/nodejs-service-with-systemd/
Gracias @dlmeetei por compartir el enlace.
Creé un proyecto Nodejs y ahora funciona sin problemas. Utilizo forever
servicio para ejecutar archivos en segundo plano, pero si el servidor se reinicia, el daemon no se iniciará automáticamente y se debe iniciar manualmente. Quiero ejecutar el daemon, incluso el servidor se reinicia