Base de conocimientos

1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!

Instalar y configurar systemd en Servidor Cloud

Esta guía explica cómo instalar y configurar systemd en un Servidor Cloud y presenta los principales comandos utilizables.

 

Requisitos previos

  • Seguir la guía de instalación de systemd para Servidor Cloud.
  • Consultar la documentación oficial para conocer todas las posibilidades ofrecidas por systemd.
  • Los archivos "unit" deben colocarse en: ~/.config/systemd/user/ ( /home/clients/absolute-path-id/.config/systemd/user ) (reemplazando absolute-path-id visible en su Manager) y los permisos deben estar configurados en 0644.
  • El parámetro --user debe indicarse en cada comando.

 

Principales comandos

Aquí hay una lista no exhaustiva de comandos utilizables con systemd.

Forzar a systemd a leer nuevamente los archivos de unidad y a tener en cuenta los cambios:

systemctl --user daemon-reload

Activación de un servicio:

systemctl --user enable --now SERVICENAME.service

Verificación del estado de un servicio:

systemctl --user status SERVICENAME.service

 

Configuración de Node como servicio con systemd

Será necesario crear un archivo "Unit" con la extensión ".service", que deberá guardarse en el directorio:

~/.config/systemd/user/

Es posible reutilizar el ejemplo siguiente reemplazando los valores que comienzan con {} :

[Unit]
Description={Le nom du service} # Spécifier ici un nom du service. Celui-ci est obligatoire mais n'a pas d'impact sur le fonctionnement
[Service]
Restart=always
Environment=NODE_VERSION={la version souhaitée} # Spécifier ici la version de Node à utiliser. S'assurer qu'elle soit installée au préalable avec "nvm install {la version souhaitée}"
WorkingDirectory=%h/{repertoire du projet Node} # %h correspond à la racine de l'hébergement
ExecStart=/bin/bash -c "exec $HOME/.nvm/nvm-exec {commande de lancement du script node}" # Cette commande dépend du projet. Par exemple, "npm run start", "npm run serve" ou encore "node server.js" sont courants
[Install]
WantedBy=default.target

 

Acciones adicionales con un archivo Unit

systemctl --user daemon-reload

Iniciar el servicio (si este ya está activo, no pasa nada):

systemctl --user start [Nom du Unit]

Detener el servicio (si este no está activo, no pasa nada):

systemctl --user stop [Nom du Unit]

Reiniciar el servicio (si no está en funcionamiento, se inicia):

systemctl --user restart [Nom du Unit]

Obtener información sobre el servicio; en particular:

  • "Active" que indica si el servicio está en funcionamiento y desde cuándo
  • "CGroup" muestra el grupo de procesos que gestiona el servicio, lo que permite ver los procesos activos, con sus argumentos y su ID

Debajo de 'CGroup' se encuentran los registros (la salida estándar y el error del proceso):

systemctl --user status [Nom du Unit]

Activar el inicio automático del servicio al arrancar el servidor; NB: esto no inicia el servicio:

systemctl --user enable [Nom du Unit]

Desactivar el inicio automático del servicio al arrancar el servidor; NB: esto no detiene el servicio:

systemctl --user disable [Nom du Unit]

 

Configuración con las entradas de usuario:

[Unit]
Description="nom service"
[Service]
Restart=always
Environment=NODE_VERSION=16.17
WorkingDirectory=%h/sites/"nom-repertoire-site"/
ExecStart=/bin/bash -c "exec $HOME/.nvm/nvm-exec npm run start"
[Install]
WantedBy=default.target

 

⚠️ Para obtener ayuda adicional contacte a un socio o inicie una solicitud de oferta gratuita — también descubra el rol del proveedor de alojamiento.


¿Le ha sido útil esta FAQ?