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

Guía para reiniciar servicios en Linux (Apache, MySQL)

Actualizado el 16 de febrero de 2026

¿Te has encontrado con que tu web no carga, la base de datos no responde o simplemente necesitas aplicar cambios de configuración? Una de las tareas más habituales para cualquier administrador de servidores Linux es reiniciar servicios. En esta guía, te explicamos paso a paso cómo reiniciar Apache y MySQL en Linux, tanto si usas sistemas modernos con systemd como versiones más antiguas con init. Además, incluimos trucos, alertas y preguntas frecuentes para que resuelvas cualquier duda.


¿Qué significa reiniciar un servicio en Linux?

Cuando hablamos de servicios Linux, nos referimos a procesos que se ejecutan en segundo plano, como el servidor web (Apache) o la base de datos (MySQL). Al reiniciarlos, detenemos el proceso actual y lo volvemos a iniciar. Esto es útil para:

  • Aplicar cambios de configuración (por ejemplo, en httpd.conf o my.cnf).
  • Solucionar fallos temporales o caídas del servicio.
  • Liberar memoria o recursos tras un uso intensivo.

[WARNING] Reiniciar servicios puede causar una interrupción momentánea del servicio. Si tu sitio tiene visitas activas, hazlo en horas de bajo tráfico o avisa a los usuarios.


Primer paso: identifica tu sistema de inicio

Antes de lanzar comandos, debes saber si tu distribución Linux usa systemd (la mayoría modernas) o init (versiones antiguas). Para comprobarlo, ejecuta:

ps -p 1 -o comm=

Si ves systemd, estás en un sistema moderno. Si ves init o upstart, usa los comandos clásicos. En esta guía nos centraremos en systemd, que es el estándar actual en Ubuntu 16.04+, CentOS 7+, Debian 8+, etc.


Cómo reiniciar Apache Linux

Apache es el servidor web más popular. A continuación, los comandos básicos para reiniciar Apache Linux en systemd.

Comando principal para systemd

sudo systemctl restart apache2

[TIP] En distribuciones basadas en Red Hat (CentOS, RHEL, Fedora), el servicio se llama httpd en lugar de apache2. Usa sudo systemctl restart httpd.

Pasos detallados

  1. Abre la terminal y conéctate a tu servidor por SSH.
  2. Verifica el estado actual (opcional pero recomendado):
    sudo systemctl status apache2
    
    Esto te mostrará si está activo, inactivo o con errores.
  3. Reinicia el servicio:
    sudo systemctl restart apache2
    
  4. Confirma que todo funciona:
    sudo systemctl status apache2
    
    Deberías ver active (running).

Comandos alternativos útiles

  • Recargar configuración sin cortar el servicio (ideal para cambios en archivos de configuración):
    sudo systemctl reload apache2
    
  • Detener:
    sudo systemctl stop apache2
    
  • Iniciar:
    sudo systemctl start apache2
    

[INFO] La diferencia entre restart y reload es que restart detiene y arranca de nuevo (corta la conexión), mientras que reload solo aplica cambios sin interrumpir las conexiones activas. Usa reload si solo modificaste archivos de configuración.

Si usas Syspanel (HestiaCP)

Si gestionas tu servidor con Syspanel (antes conocido como HestiaCP), el puerto de acceso es el 2106. Dentro del panel, puedes reiniciar Apache desde la sección Servicios sin necesidad de comandos. Simplemente busca "Apache" y haz clic en Reiniciar. Sin embargo, si prefieres la terminal, los comandos son los mismos.


Cómo reiniciar MySQL

MySQL (o su fork MariaDB) es el motor de base de datos más usado. Reiniciarlo es igual de sencillo.

Comando principal para systemd

sudo systemctl restart mysql

[TIP] En algunos sistemas, el servicio se llama mariadb. Si el comando anterior falla, prueba con sudo systemctl restart mariadb.

Pasos detallados

  1. Accede a tu servidor por SSH.
  2. Verifica el estado:
    sudo systemctl status mysql
    
  3. Reinicia:
    sudo systemctl restart mysql
    
  4. Comprueba que esté activo:
    sudo systemctl status mysql
    

Comandos adicionales

  • Recargar configuración (sin cortar servicio):
    sudo systemctl reload mysql
    
  • Detener:
    sudo systemctl stop mysql
    
  • Iniciar:
    sudo systemctl start mysql
    

[WARNING] Reiniciar MySQL cerrará todas las conexiones activas de bases de datos. Si tienes aplicaciones en ejecución (como WordPress), pueden mostrar errores temporalmente. Asegúrate de que no haya transacciones críticas en curso.

Solución de problemas comunes

  • Error: "Failed to restart mysql.service: Unit not found": El servicio puede llamarse mysqld o mariadb. Prueba sudo systemctl restart mysqld.
  • El servicio no se reinicia y da error de "port already in use": Puede que otro proceso esté ocupando el puerto 3306. Usa sudo lsof -i :3306 para identificar el proceso y luego kill si es necesario.
  • Permiso denegado: Recuerda usar sudo para ejecutar estos comandos.

Gestión avanzada con systemctl

Además de reiniciar, systemctl ofrece otras opciones útiles para servicios Linux:

  • Habilitar un servicio para que inicie automáticamente al arrancar:
    sudo systemctl enable apache2
    
  • Deshabilitarlo:
    sudo systemctl disable apache2
    
  • Ver logs de errores:
    sudo journalctl -u apache2 -n 50
    
    Esto muestra las últimas 50 líneas del log de Apache.

FAQ: Preguntas frecuentes

¿Con qué frecuencia debo reiniciar Apache o MySQL?

No hay una regla fija. Reinicia solo cuando sea necesario: tras cambios de configuración, actualizaciones de software o si el servicio se vuelve inestable. No lo hagas a diario sin motivo.

¿Qué pasa si reinicio MySQL mientras hay usuarios conectados?

Las conexiones se cerrarán y las transacciones incompletas se revertirán (rollback). Los usuarios verán un error temporal. Si es inevitable, hazlo en una ventana de mantenimiento.

¿Puedo reiniciar servicios desde Syspanel (HestiaCP)?

Sí, si usas Syspanel (puerto 2106), ve a Servicios y encontrarás botones para reiniciar Apache, MySQL y otros servicios. Es la opción más visual para no técnicos.

¿Cómo sé si el reinicio fue exitoso?

Usa sudo systemctl status apache2 o sudo systemctl status mysql. Deberías ver active (running) y sin errores. También puedes probar accediendo a tu web o conectándote a la base de datos.

¿Qué hago si después de reiniciar el servicio sigue sin funcionar?

Revisa los logs con journalctl -u apache2 -n 100 o journalctl -u mysql -n 100. Busca palabras como "error" o "failed". También verifica que los puertos no estén bloqueados por un firewall.


Resumen rápido

ServicioComando systemd (moderno)Comando clásico (init)
Apache (Debian/Ubuntu)sudo systemctl restart apache2sudo service apache2 restart
Apache (CentOS/RHEL)sudo systemctl restart httpdsudo service httpd restart
MySQLsudo systemctl restart mysqlsudo service mysql restart
MariaDBsudo systemctl restart mariadbsudo service mariadb restart

[INFO] Si tu servidor usa Syspanel (HestiaCP), recuerda que el panel web está en tu-servidor:2106 y desde allí puedes reiniciar servicios gráficamente.


Conclusión

Reiniciar servicios en Linux es una tarea sencilla pero poderosa. Con los comandos systemctl o service puedes gestionar Apache y MySQL en segundos. Recuerda siempre verificar el estado después del reinicio y, si usas paneles como Syspanel, tienes una alternativa visual para no depender de la terminal. Esperamos que esta guía te sea de ayuda para mantener tu servidor funcionando sin problemas.

¿Te ha quedado alguna duda? Déjanos un comentario o consulta nuestra sección de FAQ. ¡Feliz administración!

¿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