0Pricing
DevOps Bootcamp · Lección

Gestionar servicios con systemd

Inicie, detenga y active servicios.

Gestionar servicios con systemd es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Administrar servicios de larga duración

El módulo systemd controla los servicios administrados por systemd, el sistema init de la mayoría de las distribuciones modernas de Linux. Con él puede iniciarlos, detenerlos y habilitarlos.

Iniciar un servicio

Indique el nombre del servicio y establezca state: started. El módulo lo inicia solo si no se está ejecutando, por lo que mantiene la idempotencia.

ansible.builtin.systemd:
  name: nginx
  state: started

Detener un servicio

Use state: stopped para detener un servicio. Como siempre, solo actúa si el servicio se está ejecutando.

ansible.builtin.systemd:
  name: nginx
  state: stopped

Reiniciar y volver a cargar

state: restarted reinicia completamente un servicio, mientras que reloaded vuelve a leer la configuración sin interrumpir las conexiones. Reiniciar es la opción predeterminada segura.

ansible.builtin.systemd:
  name: nginx
  state: restarted

Iniciar y habilitar son cosas distintas

state controla si un servicio se ejecuta ahora mismo. enabled controla si se inicia automáticamente al arrancar el sistema. Son independientes.

Habilitar al arrancar

Establezca enabled: true para que el servicio se inicie automáticamente después de reiniciar. Combínelo con started para cubrir tanto el momento actual como el futuro.

ansible.builtin.systemd:
  name: nginx
  state: started
  enabled: true

Volver a cargar el daemon de systemd

Después de añadir un archivo de unidad nuevo, establezca daemon_reload: true para que systemd vuelva a leer su configuración antes de actuar sobre la unidad.

ansible.builtin.systemd:
  name: myapp
  daemon_reload: true

Sigue siendo idempotente

Si solicita started para un servicio que ya está en ejecución, obtiene ok, no changed. El módulo comprueba el estado actual antes de hacer nada.

Se requiere acceso root

Controlar servicios requiere privilegios, así que añada become: true. Sin esta opción, systemd rechaza la operación y la tarea falla.

- name: Enable nginx
  become: true
  ansible.builtin.systemd:
    name: nginx
    enabled: true

También existe el módulo service

El módulo genérico service funciona con distintos sistemas init. Use systemd directamente cuando necesite opciones exclusivas de systemd, como daemon_reload.

Combina bien con los handlers

Un patrón habitual consiste en restart un servicio solo cuando cambia su configuración. Los handlers, que verá más adelante, activan este reinicio cuando hay cambios.

Comprobación rápida

Quiere que nginx se ejecute ahora y también después de cada reinicio.

Resumen

El módulo systemd inicia, detiene, reinicia y habilita servicios. Recuerde que state se refiere al momento actual y enabled al arranque. ⚙️

Preguntas frecuentes

¿La lección «Gestionar servicios con systemd» es gratis?

Sí — el texto completo de «Gestionar servicios con systemd» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Gestionar servicios con systemd»?

Inicie, detenga y active servicios. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Gestionar servicios con systemd»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué es realmente un módulo
  2. Instalar paquetes con el módulo package
  3. Gestionar servicios con systemd
  4. Leer la documentación con ansible-doc
← Volver a DevOps Bootcamp