🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

¿Cómo reiniciar servicios en Linux desde SSH?

Actualizado el 23 de enero de 2026

¿Te has quedado alguna vez con una página web que no carga, una base de datos que no responde o un correo que no se envía? Muchas veces, la solución es tan sencilla como reiniciar un servicio en tu servidor Linux. Si gestionas tu propio hosting o un VPS, saber cómo hacerlo mediante SSH es una habilidad fundamental.

No te preocupes si eres nuevo en esto. Este artículo está pensado para que, paso a paso, aprendas los comandos básicos para reiniciar servicios Linux, usando conexiones SSH. Al final, serás capaz de solucionar problemas comunes como un auténtico SysAdmin Linux.


¿Qué necesitas para empezar?

Antes de lanzarnos a los comandos, asegúrate de tener dos cosas:

  1. Acceso SSH a tu servidor. Necesitarás un cliente SSH (como PuTTY en Windows o la terminal en Mac/Linux) y las credenciales de acceso (usuario y contraseña, o clave SSH).
  2. Permisos de administrador (root o sudo). La mayoría de los comandos para gestionar servicios requieren privilegios elevados. Si no eres root, tus comandos deberán empezar con sudo.

[INFO] Si no sabes qué es SSH, piensa en ello como un "escritorio remoto" pero solo con líneas de texto. Te permite controlar tu servidor desde cualquier lugar.


El comando mágico: systemctl

En las distribuciones modernas de Linux (como Ubuntu 16.04+, Debian 8+, CentOS 7+), el sistema de gestión de servicios se llama systemd. El comando principal para interactuar con él es systemctl.

Olvídate de los comandos antiguos como service httpd restart (aunque aún funcionan en muchos casos). systemctl es la forma estándar y más potente.

La sintaxis básica es muy simple:

sudo systemctl [acción] [nombre_del_servicio]

  • sudo: Te da poderes de administrador (lo necesitarás casi siempre).
  • systemctl: La herramienta principal.
  • [acción]: Qué quieres hacer (start, stop, restart, status, etc.).
  • [nombre_del_servicio]: El nombre del programa que quieres gestionar (apache2, nginx, mysql, etc.).

Las 4 acciones que debes conocer

Aquí tienes las acciones más comunes que usarás como SysAdmin Linux:

1. Ver el estado de un servicio (status)

Antes de reiniciar nada, es buena idea comprobar si el servicio está funcionando o ha fallado.

sudo systemctl status apache2

Este comando te mostrará información muy útil:

  • Si el servicio está active (running) (funcionando) o inactive (dead) (detenido).
  • La última vez que se inició.
  • Las últimas líneas del registro de errores (logs), que te pueden dar pistas sobre por qué falló.

2. Reiniciar un servicio (restart)

Este es el que más usarás. Detiene el servicio y lo vuelve a iniciar. Es la solución para muchos problemas.

sudo systemctl restart apache2

[TIP] Si tu web no carga después de cambiar un archivo de configuración, este es tu comando de cabecera.

3. Detener un servicio (stop)

Lo para por completo. Útil si necesitas hacer mantenimiento o si un servicio se ha vuelto loco y consume muchos recursos.

sudo systemctl stop mysql

4. Iniciar un servicio (start)

Arranca un servicio que estaba detenido.

sudo systemctl start nginx

Casos prácticos: Servicios web y bases de datos

Vamos a ver los ejemplos más comunes para reiniciar servicios Linux que te encontrarás en tu día a día.

Apache reiniciar (Servidor web)

Apache es uno de los servidores web más populares. Si cambias su configuración (.htaccess, httpd.conf, etc.), necesitarás reiniciarlo.

  1. Conéctate por SSH a tu servidor.

  2. Ejecuta el comando:

    sudo systemctl restart apache2
    

    [INFO] En algunas distribuciones (como CentOS/RHEL), el servicio se llama httpd en lugar de apache2. Si el comando anterior te da error, prueba con: sudo systemctl restart httpd.

  3. Verifica que todo está bien:

    sudo systemctl status apache2
    

    Deberías ver active (running).

MySQL reiniciar (Base de datos)

MySQL (o su versión mejorada, MariaDB) es el motor de bases de datos por excelencia. Reiniciarlo puede ser necesario si tu web da errores de conexión a la base de datos o si has cambiado parámetros de rendimiento.

  1. Accede por SSH.

  2. Ejecuta:

    sudo systemctl restart mysql
    

    [INFO] En muchos sistemas modernos, el servicio se llama mariadb. Si el comando falla, prueba: sudo systemctl restart mariadb.

  3. Comprueba el estado:

    sudo systemctl status mysql
    

Nginx reiniciar (Servidor web ligero)

Nginx es otro servidor web, famoso por su velocidad y bajo consumo. Su gestión es idéntica a Apache.

sudo systemctl restart nginx
sudo systemctl status nginx

PHP-FPM reiniciar (Procesador de PHP)

Si usas una web dinámica (WordPress, Joomla, etc.), PHP se ejecuta a través de un servicio llamado PHP-FPM. Reiniciarlo puede resolver problemas de memoria o de carga de extensiones.

sudo systemctl restart php8.1-fpm

[TIP] La versión de PHP (8.1, 7.4, etc.) puede variar. Para saber la tuya, ejecuta php -v o lista los servicios con systemctl list-units | grep php.


¿Y si uso un panel de control como Syspanel?

Si tu servidor usa Syspanel (antes conocido como HestiaCP), la gestión de servicios es aún más visual. Sin embargo, a veces necesitarás la potencia de SSH.

Syspanel corre sobre un servidor web (Nginx o Apache) y una base de datos (MySQL/MariaDB). Si tienes problemas con el panel en sí, puedes reiniciar sus servicios desde SSH.

Por ejemplo, para reiniciar el servidor web que usa Syspanel (normalmente Nginx):

sudo systemctl restart nginx

Y para la base de datos:

sudo systemctl restart mysql

[INFO] Recuerda que el acceso a Syspanel es a través del puerto 2106 (ejemplo: https://tu-servidor.com:2106). Si no puedes acceder al panel, reiniciar los servicios desde SSH suele ser el primer paso para solucionarlo.


Solución de problemas comunes (FAQ)

Aquí tienes las dudas más frecuentes de los usuarios que buscan comandos SSH para gestionar sus servidores.

1. "El comando systemctl restart no funciona, dice command not found"

Solución: Es posible que tu distribución use un sistema de inicio más antiguo. Prueba con estos comandos alternativos:

  • Para servicios SysV (antiguos):
    sudo service apache2 restart
    
  • Para distribuciones como Alpine Linux:
    sudo rc-service apache2 restart
    

2. "He reiniciado Apache pero la web sigue sin cargar"

Solución: Revisa los logs de errores. El comando status te mostrará las últimas líneas. También puedes ver el log completo:

sudo tail -f /var/log/apache2/error.log

Presiona Ctrl + C para salir de la vista del log. Busca palabras como "Syntax error" o "Permission denied".

3. "¿Cómo reinicio un servicio sin usar sudo?"

Respuesta corta: No puedes, a menos que el usuario con el que te conectas tenga permisos especiales. La gestión de servicios es una tarea de administración del sistema. Si no quieres escribir sudo cada vez, puedes hacerte usuario root con sudo -i, pero ten cuidado: cualquier comando que ejecutes tendrá poder absoluto.

4. "He cambiado la configuración de Nginx y al reiniciar da error. ¿Cómo lo deshago?"

Solución: Antes de reiniciar, siempre puedes probar la configuración:

sudo nginx -t

Si el test falla, te dirá exactamente en qué línea y archivo está el error. Corrige el error y vuelve a probar antes de reiniciar. Si ya has reiniciado y el servicio no arranca, restaura tu copia de seguridad del archivo de configuración y luego inicia el servicio con sudo systemctl start nginx.

5. "¿Puedo reiniciar todos los servicios a la vez?"

Solución: No es recomendable, pero técnicamente sí. Podrías reiniciar el servidor entero con sudo reboot. Eso reiniciará todos los servicios. Para un grupo específico, tendrías que hacerlo uno por uno o escribir un pequeño script.


Consejos de experto para el SysAdmin Linux

  1. Siempre verifica el estado después de reiniciar. No des por hecho que el servicio se ha iniciado correctamente. Un sudo systemctl status rápido te ahorrará dolores de cabeza.
  2. Usa reload en lugar de restart cuando sea posible. El comando reload (ej: sudo systemctl reload apache2) le dice al servicio que recargue su configuración sin detenerlo por completo. Es menos agresivo y evita cortar el servicio a los usuarios activos. No todos los servicios lo soportan, pero Apache, Nginx y PHP-FPM sí.
  3. Crea un alias. Si reinicias un servicio muy a menudo, puedes crear un alias en tu archivo .bashrc para ahorrar tiempo. Por ejemplo:
    alias reiniciarweb='sudo systemctl restart nginx && sudo systemctl restart php8.1-fpm'
    
    Después de guardar el archivo, ejecuta source ~/.bashrc y podrás escribir solo reiniciarweb.

Resumen rápido

ServicioComando para reiniciarComando para ver estado
Apachesudo systemctl restart apache2sudo systemctl status apache2
Nginxsudo systemctl restart nginxsudo systemctl status nginx
MySQL/MariaDBsudo systemctl restart mysqlsudo systemctl status mysql
PHP-FPMsudo systemctl restart php8.1-fpmsudo systemctl status php8.1-fpm

[WARNING] Ten cuidado al reiniciar servicios en producción. Si es posible, hazlo en horas de bajo tráfico. Un reinicio mal planificado puede dejar tu web fuera de servicio por unos segundos.

Ahora ya tienes las herramientas básicas para reiniciar servicios Linux desde SSH. Practica en un servidor de pruebas o en un VPS de bajo coste para coger confianza. En poco tiempo, serás capaz de diagnosticar y solucionar problemas como un profesional. ¡Buena suerte!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel