1000 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 uno Servidor Cloud y presenta los principales comandos utilizables.
⚠Para la ayuda suplementaria Póngase en contacto con un socio o Haga una licitación gratuita Averigüe también el rol del hospedador.
Requisitos previos
- Seguir el guía de instalación
systemd
para Servidor Cloud. - Consultar la documentación oficial para conocer todas las posibilidades que ofrece systemd
- Los archivos "unit" se colocarán en:
~/.config/systemd/user/ ( /home/clients/absolute-path-id/.config/systemd/user )
(Sustituyéndose) absolute-path-id visible en su Manager) y los permisos se deben pagar en 0644. - El parámetro
--user
se indicará en cada pedido.
Principales pedidos
Aquí está una lista no exhaustiva de comandos utilizables con systemd
.
Forzar systemd
volver a leer las unit files y tener en cuenta las modificaciones:
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á registrarse en el directorio:
~/.config/systemd/user/
Se puede volver a utilizar el siguiente ejemplo sustituyendo 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 éste ya está activo, nada ocurre):
systemctl --user start [Nom du Unit]
Detener el servicio (si éste no está activo, no pasa nada):
systemctl --user stop [Nom du Unit]
Reiniciar el servicio (si no gira, se inicia):
systemctl --user restart [Nom du Unit]
Obtener información sobre el servicio , en particular:
- "Activo" que indica si el servicio funciona y desde cuándo
- "Globo" muestra el grupo de procesos que gestiona el servicio, lo que permite ver los procesos activos, con sus argumentos y su ID
Por debajo de "CGroup" se encuentran posibles logs (la salida estándar y error del proceso):
systemctl --user status [Nom du Unit]
Activar el arranque automático del servicio al boot del servidor; NB: No inicia el servicio:
systemctl --user enable [Nom du Unit]
Desactivar el inicio automático del servicio al boot del servidor; NB: Esto no para el servicio:
systemctl --user disable [Nom du Unit]
Preferencias 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