Usar linger con Node.js

Generalidades

Este artículo explica cómo usar linger con un aplicación de Node.js. Esta combinación permite que tu aplicación ejecute procesos persistentes y que tus servicios se reinicien si tu aplicación se cae o el servidor se reinicia.

Tu debes estar en un plan de alojamiento VPS o Dedicado para instalar el software en esas instrucciones.

Requisitos previos

Este artículo asume que has configurado un Servidor Proxy en el panel.

Paso #1: Instalar linger

Para instalar linger en tu usuario, inicia sesión en tu servidor a través de SSH y corre el siguiente comando:

[server]$ loginctl enable-linger

Este comando no responderá con ninguna salida.

Paso #2: Configurar la unidad de usuario systemd

Este paso configura Node para trabajar con unidades de usuario de systemd en el servidor.

  1. Crea los siguientes directorios:
    [server]$ mkdir -p ~/.config/systemd/user/
  2. Crea un archivo myapp.service en el directorio .config/systemd/user:
    [server]$ nano ~/.config/systemd/user/myapp.service
  3. Agrega el siguiente código a este archivo:
    [Unit]
    Description=Systemd instance to serve Node application
    After=network.target
    
    [Service]
    WorkingDirectory=/path/to/your/app
    ExecStart=/usr/bin/node /path/to/your/app/app.js
    Environment="PATH=/usr/bin:/usr/local/bin"
    Environment=NODE_ENV=production
    ExecReload=/bin/kill -s HUP $MAINPID
    KillMode=mixed
    TimeoutStopSec=5
    PrivateTmp=true
    Restart=on-failure
    
    [Install]
    WantedBy=default.target
  4. Edita las líneas resaltadas de arriba así:
    • WorkingDirectory: La ruta a la aplicación de tu sitio web.
    • ExecStart: La ruta a tu instalación de node.
  5. Habilita la unidad del usuario de tu aplicación de Node:
    [server]$ systemctl --user enable myapp
  6. Inicia la unidad de tu aplicación Node:
    [server]$ systemctl --user start myapp
  7. Confirma que está corriendo:
    [server]$ systemctl --user status myapp

Los servicios de tu aplicación ahora se reiniciarán automáticamente cuando el servidor se reinicie o si la aplicación se cae.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?