1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Instalar y configurar systemd en Serveur 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 lanza una oferta gratuita — también descubre el rol del proveedor de alojamiento.
Requisitos previos
- Seguir la guía de instalación
systemdpara Serveur 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 configurarse en 0644. - El parámetro
--userdebe especificarse en cada comando.
Principales comandos
Aquí tienes una lista no exhaustiva de comandos que puedes usar con systemd.
Forzar a systemd a leer nuevamente los archivos de unidad y a tener en cuenta los cambios:
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 a continuación 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 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:
- "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 posibles registros (la salida estándar y de error del proceso):
systemctl --user status [Nom du Unit]Habilitar 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 arranque del servidor; NB: esto no detiene el servicio:
systemctl --user disable [Nom du Unit]Configuración con las entradas user:
[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