LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Systemd es un paquete de software moderno que proporciona muchos componentes en un sistema Linux , incluido un administrador de sistema y servicio. Es compatible con los scripts de inicio SysV y LSB y funciona como reemplazo de sysvinit .

Un servicio systemd se define en un archivo de unidad (una unidad (unit) es una representación de un servicio y recursos del sistema, como dispositivos, sockets, puntos de montaje, etc.). Los archivos de la unidad de servicio personalizada deben almacenarse en el directorio /etc/systemd/system/ y deben tener una extensión ".service". Por ejemplo, un servicio de aplicación de prueba personalizado utiliza el archivo de unidad /etc/systemd/system/test-app.service.

Un archivo de unidad es un archivo de estilo ini de texto sin formato que generalmente incluye tres secciones comunes. La primera sección suele ser la sección Unit, que contiene información genérica sobre la unidad que no depende del tipo de unidad.

La siguiente sección es la sección de tipo de unidad, para un servicio, es una sección de Servicio. Y la sección final es la sección de instalación que contiene información de instalación para la unidad.

En esta guía, mostraremos cómo crear un nuevo servicio systemd y administrar el servicio usando el comando systemctl , en Linux.

Crear un archivo de servicio Systemd personalizado en Linux

Para ejecutar una aplicación, un programa o una secuencia de comandos como un servicio en systemd, puede crear un nuevo servicio de systemd de la siguiente manera. Comience creando el archivo de la unidad de servicio llamado test-app.service (recuerde reemplazar test-app con el nombre real de su servicio o aplicación), en /etc/systemd/system/ :

# vi /etc/systemd/system/test-app.service

La siguiente configuración se usa para definir un servicio para ejecutar una aplicación Flask usando Gunicorn, un servidor HTTP WSGI de Python para UNIX.

[Unit]
Description=Gunicorn daemon for serving test-app
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/apps/test-app/
Environment="PATH=/apps/test-app/bin"
ExecStart=/apps/test-app/bin/gunicorn --workers 9  -t 0  --bind 127.0.0.1:5001 -m 007 wsgi:app --log-level debug --access-logfile /var/log/gunicorn/test_app_access.log --error-logfile /var/log/gunicorn/test_app_error.log
ExecReload=/bin/kill -s HUP $MAINPID
RestartSec=5

[Install]
WantedBy=multi-user.target

Describamos brevemente cada directiva de configuración en la configuración anterior:

  • Description : se utiliza para especificar una descripción para el servicio.
  • After : define una relación con una segunda unidad, la network.target. En este caso, el servicio test-app.service se activa después de la unidad network.target .
  • User : se utiliza para especificar el usuario con cuyos permisos se ejecutará el servicio.
  • Group : se utiliza para especificar el grupo con cuyos permisos se ejecutará el servicio.
  • WorkingDirectory : se utiliza para establecer el directorio de trabajo para los procesos ejecutados.
  • Environment : se utiliza para establecer variables de entorno para los procesos ejecutados.
  • ExecStart : se utiliza para definir los comandos con sus argumentos que se ejecutan cuando se inicia este servicio.
  • ExecReload : se utiliza para definir los comandos que se ejecutarán para activar una recarga de configuración en el servicio.
  • WantedBy : permite que se cree un enlace simbólico en el directorio .wants/o .requires/de cada una de las unidades enumeradas, multi-user.target en este caso, cuando la unidad test-app.service está habilitada mediante el comando systemctl enable .

Puede encontrar todos los parámetros de configuración de la unidad de servicio, bien descritos en la documentación de configuración de la unidad de servicio .

Guarde el archivo de la unidad y ciérrelo. Luego, vuelva a cargar systemd con este nuevo archivo de unidad de servicio ejecutando:

# systemctl daemon-reload comando

Recuerde siempre ejecutar este comando después de editar un archivo de unidad.

Administrar el servicio Systemd en Linux

Para iniciar/activar el servicio, ejecute el comando systemctl de la siguiente manera:

# systemctl start prueba-aplicación.service

Para verificar si el servicio se está ejecutando o no, emita el comando systemctl como se muestra.

# systemctl status prueba-aplicación.service

Consultar el Estado del Servicio

Para permitir que el servicio se inicie en el arranque del sistema, use el comando systemctl enable . Puede verificar si el servicio se ha habilitado usando el comando systemctl is-enable de la siguiente manera:

# systemctl enable test-app.service
# systemctl is-enabled test-app.service
Permitir que el servicio se inicie en el arranque

Alternativamente, también puede habilitar e iniciar el servicio al mismo tiempo como se muestra.

# systemctl enable --now test-app.service

Para detener/desactivar el servicio, ejecute el comando systemctl stop de la siguiente manera:

# systemctl stop test-app.service

Para reiniciar el servicio, ejecute el comando systemctl restart de la siguiente manera:

# systemctl restart test-app.service

También puede deshabilitar un servicio para evitar que se inicie al arrancar el sistema, usando el comando  systemctl disabled . Puede verificar si el servicio se ha habilitado usando el comando systemctl is-enable de la siguiente manera:

# systemctl disable test-app.service
# systemctl is-disabled test-app.service

Alternativamente, puede deshabilitarlo y detenerlo al mismo tiempo como se muestra.

# systemctl disable --now test-app.service

Para obtener más detalles sobre cómo administrar los servicios de systemd y otros recursos, ejecute:

# man systemctl

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías