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 un Servidor Cloud y presenta los principales comandos utilizables.
⚠️ Para obtener ayuda adicional contacte a un socio o inicie una solicitud de oferta gratuita — también descubra el papel del proveedor de alojamiento.
Requisitos previos
- Seguir la guía de instalación de
systemdpara 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 ajustarse a 0644. - El parámetro
--userdebe indicarse en cada comando.
Principales comandos
Aquí tienes una lista no exhaustiva de comandos utilizables con systemd.
Forzar a systemd a leer nuevamente los archivos de unidad y a tener en cuenta las modificaciones:
systemctl --user daemon-reloadActivación de un servicio:
systemctl --user enable --now SERVICENAME.serviceVerificación del estado de un servicio:
systemctl --user status SERVICENAME.serviceConfiguració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.targetAcciones adicionales con un archivo Unit
systemctl --user daemon-reloadIniciar el servicio (si este ya está activo, no ocurre nada):
systemctl --user start [Nom du Unit]Detener el servicio (si este no está activo, no ocurre 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:
- Activo, 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