Hoy en día, casi todo tiene una interfaz de usuario muy atractiva. Basta con señalar y hacer clic para realizar las tareas. Por eso, casi nunca necesitamos la línea de comandos.
Pero en el momento en que te registras en un VPS, necesitas aprender estos comandos esenciales de Linux, o te quedarás mirando una pantalla negra, preguntándote qué diablos hacer a continuación.
Aunque hay miles de comandos de Linux, he seleccionado los 30 más utilizados para la gestión diaria de servidores.
Comprende Tu Nivel Actual de Dominio de los Comandos de Linux
Dependiendo de la frecuencia con la que utilices los comandos de Linux, te encontrarás en uno de estos cuatro niveles de dominio.
- Nivel básico: Puedes conectarte por SSH a tu servidor y navegar por los directorios, pero no te sientes cómodo con los cambios en el sistema. Probablemente, copias y pegas comandos de tutoriales sin comprender completamente lo que hacen. Los permisos de los archivos siguen siendo confusos y, cuando algo falla, no sabes por dónde empezar a buscar.
- Nivel profesional: Te sientes cómodo con las operaciones básicas de archivos y puedes resolver problemas sencillos, pero los problemas complejos todavía te obligan a buscar ayuda. Puedes gestionar entornos de desarrollo, pero te falta confianza para optimizar el rendimiento o implementar medidas de seguridad.
- Nivel de infraestructura: Puedes diagnosticar cuellos de botella en el rendimiento y manejar configuraciones de seguridad, pero la automatización te resulta abrumadora. Entiendes cómo funcionan los comandos individuales, pero aún no tienes la fluidez suficiente para combinarlos en flujos de trabajo eficientes.
- Nivel experto: Puedes pensar de forma sistemática sobre la arquitectura del servidor e identificar rápidamente la causa raíz de problemas complejos. Automatizas las tareas rutinarias y puedes optimizar los servidores para casos de uso específicos sin depender de recursos externos.
He clasificado los comandos de Linux a continuación, teniendo en cuenta estos niveles de competencia exactos.
Nivel Básico: Comandos Que Todo Desarrollador Debe Dominar
La primera vez que te conectas por SSH a un VPS, necesitas saber cómo navegar y ver los archivos. Estos comandos te ayudan a hacerlo sin sentirte completamente perdido.

Navegación e Inspección de Archivos
1. ls: Muestra el contenido del directorio actual
El comando sin parámetros muestra (¿lo ves? ls = lista) todos los archivos y carpetas visibles en tu ubicación actual.
Pero cuando gestionas sitios web, necesitas información más detallada, por lo que puedes utilizar ls -la para ver los permisos, la propiedad, el tamaño de los archivos y los archivos ocultos que comienzan con puntos.
ls -la /var/www/html
El resultado muestra todo lo que necesitas:

La primera columna muestra los permisos de los archivos, la tercera y la cuarta muestran quién es el propietario del archivo y la última muestra cuándo se modificó.
La tabla muestra información detallada sobre todos los archivos de tu directorio web, incluidos los archivos de configuración ocultos como .htaccess, que pueden causar problemas en el sitio web.
2. pwd: Muestra tu ubicación actual en la estructura del directorio
El comando significa “imprimir directorio de trabajo” y muestra la ruta completa de tu ubicación actual. Cuando gestionas varios sitios web en un VPS, esto evita que edites accidentalmente los archivos del sitio equivocado. Solo tienes que escribir:
pwd
Esto podría devolver algo como /var/www/site1, lo que confirma que estás trabajando en el directorio correcto del sitio web.
3. cd: Cambia de directorio, lo que cambia tu directorio actual a una ubicación diferente.
La sintaxis básica es “cd /path/to/directory.” .
Puedes usar atajos como “cd” solo para ir a la página de inicio, “cd -” para volver al directorio anterior y “cd ..” para subir un nivel.
cd /var/www/html

Esto te lleva directamente al directorio principal de tu sitio web, donde se almacenan la mayoría de los archivos.
Gestión de Archivos y Directorios
4. mkdir: Crea nuevos directorios
Significa “Make Directory” (crear directorio) y la sintaxis básica es “mkdir directory-name” para crear una sola carpeta.
Puedes usar “mkdir -p” para crear estructuras de directorios anidados en un solo comando, y no dará error si los directorios ya existen.
mkdir -p /var/www/newsite/{public,logs,backups,ssl}

Esto crea una estructura de directorios completa para un nuevo sitio web con carpetas separadas para archivos públicos, registros, copias de seguridad y SSL.
5. cp: Copia archivos y directorios de una ubicación a otra
La sintaxis básica es:
cp <source path> <destination path>
Sin embargo, por defecto, el comando cp no copia archivos dentro de carpetas, ni siquiera carpetas anidadas.
Tú necesitarás utilizar “cp -r” para copiar árboles de directorios completos de forma recursiva, lo que gestiona todos los subdirectorios y su contenido.
cp -r /var/www/production /var/www/staging
Esto crea una copia completa de tu sitio web de producción para probar los cambios antes de implementarlos en vivo.
6. mv: Mueve archivos y directorios, o los renombra
A diferencia de la copia, esto elimina el archivo original y te permite moverlos a diferentes directorios o renombrar archivos en la misma ubicación.
Esta es la sintaxis básica:
mv <source path> <destination path>
Para mover el archivo a otra ubicación, debes especificar la ruta completa de destino como se indica a continuación:
mv wordpress-6.3.2.zip /var/www/downloads/
Si deseas cambiar el nombre de un archivo, solo tienes que “mover” el archivo de un nombre a otro en el mismo directorio:
mv nginx.conf nginx.conf.backup

Operaciones Con el Contenido de los Archivos
7. cat: Muestra todo el contenido de un archivo en tu terminal (abreviatura de concatenar).
La sintaxis básica es cat nombre de archivo. Este comando es perfecto para leer archivos de configuración cortos o comprobar el contenido de scripts sin abrir un editor de texto.
cat /var/www/html/wp-config.php
Esto muestra tu archivo de configuración de WordPress para que puedas verificar las credenciales de la base de datos o comprobar si hay errores de sintaxis.
8. head: Muestra las primeras líneas de un archivo
El valor predeterminado es 10 líneas, pero puedes especificar un número diferente con “head -n 20”. Esto es útil para comprobar archivos de registro grandes sin mostrar miles de líneas en tu terminal.
head -n 50 /var/log/nginx/access.log
Esto muestra las primeras 50 entradas del registro de acceso de tu servidor web para comprobar los patrones de tráfico recientes.
9. tail: Muestra las últimas líneas de un archivo
El comando tail sin ningún parámetro muestra 10 líneas, pero “tail -f” muestra continuamente las nuevas líneas a medida que se añaden al archivo. Esto lo hace muy valioso para supervisar archivos de registro en tiempo real mientras se solucionan problemas.
tail -f /var/log/nginx/error.log
Esto sigue tu registro de errores en tiempo real, mostrando los nuevos mensajes de error inmediatamente a medida que se producen durante el funcionamiento del sitio web.
Nivel Profesional: Comandos para Gestionar Flujos de Trabajo de Desarrollo
Una vez que te familiarices con ellos, estos comandos de nivel profesional te permitirán controlar las partes dinámicas de tu servidor. Podrás supervisar lo que se está ejecutando, gestionar procesos y manejar los recursos del sistema como un profesional.

Control y Monitoreo de Procesos
10. ps: Muestra los procesos que se están ejecutando actualmente en tu sistema
Al ejecutar “ps aux” se muestran todos los procesos con información detallada, incluido el uso de la CPU y la memoria.
- a muestra los procesos de todos los usuarios.
- u proporciona un formato fácil de usar.
- x incluye procesos no vinculados a terminales.
| t La “tubería” pasa la salida de “ps aux” al comando “grep”, y lo explicaré más adelante en la sección de búsqueda de archivos.
ps aux | grep nginx

Este comando completo muestra todos los procesos relacionados con NGINX, lo que te ayuda a verificar que tu servidor web está funcionando e identificar cualquier proceso que consuma muchos recursos.
11. top: Muestra el rendimiento del sistema en tiempo real y los procesos en ejecución
A diferencia de “ps”, este comando se actualiza continuamente y muestra información en tiempo real sobre la CPU, la memoria y los procesos. Presiona q para salir, k para eliminar procesos y M para ordenar por uso de memoria.
top

Cuando tu sitio web se carga lentamente, esto revela qué procesos están consumiendo recursos. Las estadísticas de carga media y uso de memoria ayudan a identificar los cuellos de botella del sistema.
12. htop: Versión mejorada de top con una interfaz visual más atractiva
Ofrece la misma funcionalidad que top, pero con codificación por colores, compatibilidad con el mouse y una navegación más sencilla. Es posible que tengas que instalarlo primero con un comando sudo, que explicamos más adelante.
htop

La pantalla con colores facilita identificar procesos problemáticos de un vistazo y te permite desplazarte por la lista de procesos con mayor facilidad.
13. kill: Termina los procesos por su ID de proceso
Usa kill <PID>; para detener un proceso específico de forma elegante. Si un proceso no responde, puedes forzar su terminación con kill -9 <PID>;.
kill 1234
Cuando un proceso PHP se atasca consumiendo demasiada CPU, busca su PID con ps aux o top y, a continuación, utiliza kill para terminarlo.
14. killall: Termina todos los procesos con un nombre específico
No siempre sabrás el PID, ya que los nombres de los servicios pueden diferir de los nombres de las aplicaciones. El comando killall <processname>; detiene todos los procesos que coinciden con ese nombre a la vez.
killall php-fpm
Esto detiene todos los procesos de trabajo de PHP-FPM, lo que resulta útil cuando necesitas reiniciar completamente tu controlador PHP.
Supervisión de los recursos del sistema
15. df: Muestra el uso del espacio en disco para todos los sistemas de archivos montados
Al ejecutar “df -h” se muestra el uso del disco en un formato legible para los humanos (GB, MB en lugar de kibibytes). El comando anterior puede ayudarte a realizar un seguimiento del uso del disco para evitar errores de disco lleno.
df -h

Si ves que la columna “use%” muestra más del 70 % para cualquier disco, es hora de limpiar el espacio en disco o actualizar a un almacenamiento más grande.
16. free: Muestra el uso de la memoria, incluyendo la RAM y el espacio de intercambio
Sin parámetros, el comando free te proporcionará datos en kibibytes (1 kibibyte equivale a 1024 bytes).
Usa “free -h” para ver las estadísticas de memoria en un formato legible. Esto ayuda a identificar problemas de rendimiento relacionados con la memoria antes de que bloqueen tus aplicaciones.
free -h

Si la memoria “disponible” cae cerca de cero, tu servidor dejará de responder. Este indicador te indica cuándo debes añadir más RAM u optimizar tus aplicaciones.
17. du: Muestra el uso del disco para directorios específicos
Al ejecutar du -sh <directory> obtienes un resumen del uso del espacio de una carpeta concreta. La opción “-s” solo muestra los totales y la opción “-h”, como hemos visto en los comandos anteriores, hace que el resultado sea legible.
du -sh /var/www/*
Si ejecutas varios sitios web en tu VPS, el comando anterior te mostrará qué sitio web consume más espacio y te ayudará a identificar los directorios que podrían limpiarse.
Búsqueda de Archivos y Procesamiento de Texto
18. grep: Busca patrones de texto dentro de archivos
Grep significa “global regular expression print” (impresión de expresiones regulares globales). Antes utilicé el comando “grep” con nuestro comando “ps aux”. Permíteme explicarte qué hace realmente.
Este comando se puede utilizar para buscar patrones de texto o expresiones regulares en textos largos. Usa grep “search term” <filename>; para encontrar texto específico en un archivo. Añade “-r” para buscar de forma recursiva en los directorios y “-i” para que la búsqueda no distinga entre mayúsculas y minúsculas.
grep -r “database_name” /var/www/html/
Esto encuentra todos los archivos que contienen el nombre de tu base de datos, lo cual es esencial para rastrear referencias de configuración o solucionar problemas de conexión.
19. find: Busca archivos y directorios es según diversos criterios
Este comando te ayuda a encontrar archivos en tu ruta que coincidan con un nombre o patrón específico.
Puedes utilizar find <path> -name “pattern” para buscar archivos que coincidan con un patrón específico. Puedes buscar por nombre, tamaño, fecha de modificación o tipo de archivo.
find /var/www -name “*.log” -size +100M
Esto busca archivos de registro de más de 100 MB, lo que ayuda a identificar los archivos que necesitan rotación o limpieza para liberar espacio en disco.
20. chmod: Cambia los permisos de archivos y directorios
Los permisos de archivo en Linux pueden ser complejos, y no puedo explicarlos en detalle aquí, pero Red Hat escribió un artículo completo que explica los permisos de archivo.
Una vez que comprendas los permisos de los archivos, puedes utilizar el comando “chmod” para actualizarlos.
Usa chmod <permissions> <filename>; para establecer el acceso al nombre de archivo especificado.
En este caso, los “permisos” utilizan una notación numérica en la que “7 = lectura + escritura + ejecución”, “6 = lectura + escritura” y “4 = solo lectura”.
chmod 644 /var/www/html/wp-config.php
Otorgar permisos 777 a archivos críticos expone tu servidor a vulnerabilidades de seguridad.
Por lo tanto, debes saber qué permisos son absolutamente necesarios y conceder solo esos. Los archivos web suelen necesitar permisos 644, mientras que los directorios de sitios web necesitan 755 para funcionar correctamente.
Nivel de Infraestructura: Comandos para Entornos de Producción
Cuando se requiere manejar el aspecto de red de tus servidores, estos comandos pueden separar rápidamente a los administradores competentes de aquellos que tienen dificultades cuando surgen problemas reales en los sitios web de producción.

Diagnóstico y Gestión de Redes
21. ping: Comprueba la conectividad de la red y mide el tiempo de respuesta
El comando “ping” comprueba si tu servidor puede conectarse a otro sitio web o servidor. Puedes hacer ping a un nombre de dominio o a una dirección IP.
Si utilizas solo ping <hostname/IP> se creará un ping sin fin hasta que lo detengas manualmente. Puedes añadir “-c 4” para que el comando solo envíe 4 paquetes para verificar la conectividad y se detenga.
ping -c 4 tudominio.com

Si el ping falla por completo, es posible que el DNS esté dañado o que haya un problema de conectividad de red, y puedes empezar a delimitar el problema a partir de aquí.
22. curl: Transfiere datos hacia o desde servidores utilizando varios protocolos
Cuando estás en la terminal, es bastante difícil acceder a un sitio web y descargar paquetes. No tienes un navegador ni una interfaz de usuario conectados.
Este comando tiene varios parámetros, por lo que es posible que quieras consultar este tutorial oficial sobre el uso de curl para comprenderlo completamente.
Pero para comprobar si un sitio web responde, solo necesitas el parámetro “-I” (es decir, la i mayúscula). Este parámetro ayuda a curl a obtener los encabezados HTTP en lugar de obtener el HTML completo del sitio web.
curl -I https://tudominio.com

Esto muestra los códigos de estado HTTP (“200=éxito”, “404=no encontrado”, “500=error del servidor”) y los encabezados de respuesta, revelando problemas que los navegadores podrían ocultar.
23. netstat: Muestra las conexiones de red y los servicios de escucha
Netstat es otro comando muy completo que te ayuda a supervisar tus conexiones de red, comprobar qué puertos están abiertos en tu servidor, qué servicios están a la escucha en qué puertos específicos y mucho más.
Aquí tienes una guía sencilla de IBM que te muestra algunos usos comunes de netstat.
Para uso en servidores, principalmente necesitarás el comando “netstat -tlnp” para mostrar las conexiones de red en escucha.
Los indicadores significan:
- “-t” Conexiones TCP
- “-l” solo escucha
- “-n” direcciones numéricas
- “-p” ID de proceso
netstat -tlnp | grep :80
Esto confirma que tu servidor web está escuchando en el puerto 80. Si no aparece nada, tu servidor web no está funcionando o no está configurado correctamente.
24. ss: Un sustituto moderno de netstat con mejor rendimiento
Aunque netstat ha sido la herramienta tradicional que sigue funcionando, puede ser más lenta si estás en un servidor extremadamente ocupado. El comando “ss” llegó para solucionar eso.
Puedes utilizar parámetros similares a los de netstat con el comando ss y obtener el resultado mucho más rápido.
ss -tlnp | grep :443
Esto comprueba si tu servidor web está escuchando conexiones SSL en el puerto 443, esencial para sitios web HTTPS.
Seguridad y control de acceso
25. sudo: Ejecuta comandos con privilegios elevados
Sudo, abreviatura de “super user do”, te permite realizar tareas administrativas sin tener que cambiar completamente al usuario root. Ayuda a ejecutar comandos con responsabilidad y riesgo reducido.
Si cambias a la cuenta “root”, tendrás control total sobre tu servidor y podrás eliminar archivos accidentalmente, incluyendo la posibilidad de eliminar el sistema operativo mientras se está ejecutando.
Por lo tanto, sudo nos salva de accidentes “suc”. Solo tienes que anteponer el comando a cualquier comando de administración y te pedirá tu contraseña.
sudo systemctl restart nginx
Las tareas administrativas, como reiniciar servicios, requieren privilegios elevados. Usar sudo es más seguro que iniciar sesión directamente como root.
Ten en cuenta que tu usuario debe tener los permisos sudo antes de utilizar el comando sudo.
26. chown: Cambia la propiedad de archivos y directorios
En Linux, cada archivo es propiedad de un usuario y un grupo. Siempre puedes cambiar quién es el propietario del archivo utilizando el comando chown. Puedes utilizar chown chown <userr>:<group> <filename>; para establecer la propiedad del archivo.
Por ejemplo, los servidores web deben ser propietarios de los archivos del sitio web para poder servirlos correctamente.
chown -R www-data:www-data /var/www/html/
Este comando es útil si subes archivos a través de FTP. Estos archivos pueden llegar con una propiedad incorrecta, y puedes utilizar chown para cambiarla.
27. ssh-keygen: Genera pares de claves SSH para una autenticación segura
Las claves SSH son mucho más seguras que las contraseñas para acceder al servidor. La clave SSH se encuentra en tu ordenador sin enviarse nunca al servidor, por lo que un pirata informático que vigile tu red nunca verá la clave que te ha ayudado a iniciar sesión.
Al ejecutar “ssh-keygen -t rsa -b 4096” se crean archivos de claves públicas y privadas.
ssh-keygen -t rsa -b 4096 -C “tu@email.com”
Esto crea un par de claves “RSA de 4096 bits”. Copia la clave pública en los servidores para la autenticación sin contraseña y las implementaciones automatizadas.
28. ufw: El sencillo cortafuegos de Ubuntu para la protección básica del servidor
Todos los servidores necesitan una buena configuración de firewall. La mayoría de los servidores Linux vienen con el firewall ufw, o se puede instalar fácilmente.
Una vez que lo tengas, ejecuta el comando ufw enable para activar el cortafuegos y, a continuación,ufw allow <port>; para permitir servicios específicos a través del cortafuegos.
ufw enable
ufw allow 22
ufw allow 80
ufw allow 443
Esto permite el tráfico SSH (22), HTTP (80) y HTTPS (443) mientras bloquea todo lo demás, lo que proporciona una protección básica pero eficaz del servidor.
Nivel Experto: Comandos para Automatización y Escalabilidad
Estos comandos te ayudan con la automatización y la administración avanzada del sistema para gestionar sitios web a gran escala.

Gestión de servicios
29. systemctl: controla los servicios systemd en distribuciones Linux modernas
Usa systemctl <action> <service>; para gestionar los servicios del sistema. Las acciones más comunes son iniciar, detener, reiniciar, habilitar, deshabilitar y ver el estado.
systemctl status nginx
systemctl restart mysql
El primer comando muestra el estado detallado de NGINX, incluidas las entradas recientes del registro. El segundo reinicia el servidor de la base de datos para aplicar los cambios de configuración que hayas realizado en la configuración de “mysql”.
30. crontab: Programa tareas automatizadas para que se ejecuten en momentos específicos
No querrás despertarte en mitad de la noche para ejecutar comandos del servidor. Las tareas cron pueden hacerlo por ti.
Para editar tu tabla cron personal, ejecuta crontab -e y verás todas tus entradas cron existentes.
Las tareas se especifican utilizando el formato: minuto, hora, día, mes, día de la semana y comando.
0 2 * * * /usr/local/bin/backup-website.sh
Por ejemplo, la tarea cron anterior ejecuta un script de copia de seguridad (“backup-website.sh”) todos los días a las 2 a. m.
Puedes utilizar las tareas cron para realizar copias de seguridad automáticas, rotación de registros, tareas de mantenimiento y mucho más en tus entornos de producción.
Procesamiento Avanzado de Texto
31. sed: Editor de flujo para filtrar y transformar texto
Usa sed ‘s/old/new/g’ <filename>; para reemplazar texto en archivos. Añade “-i” para editar archivos directamente en lugar de solo mostrar los resultados.
sed -i ‘s/old_database/new_database/g’ /var/www/html/wp-config.php
Esto reemplaza todas las apariciones de “old_database” por “new_database” en tu archivo de configuración de WordPress; útil para migraciones de bases de datos.
32. awk: Herramienta de escaneo de patrones y extracción de datos
Al ejecutar awk ‘{print $1}’ <filename> se extrae el primer campo (columna) de cada línea. Excelente para procesar archivos de registro y datos estructurados.
awk ‘{print $1}’ /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
Esto extrae las direcciones IP de los registros de acceso, las cuenta y muestra los 10 visitantes principales de tu sitio web.
Escenarios de aplicación en el mundo real
Repasemos rápidamente y luego combinemos estos comandos para situaciones comunes a las que te enfrentarás al administrar tu VPS.
| Símbolo del sistema: | Significado: | Qué hace: |
| ls | List | Enumera el contenido del directorio actual. |
| pwd | Imprime el directorio de trabajo | Muestra la ruta completa de tu ubicación |
| cd | Cambia de directorio | Cambia tu directorio actual a la ubicación indicada |
| mkdir | Crear directorio | Crea un directorio (una carpeta) en la ubicación solicitada. |
| cp | Copiar | Copia archivos y directorios del punto A al punto B |
| mv | Mover | Mueve (o renombra) archivos y directorios |
| cat | Concatenar | Muestra todo el contenido de un archivo en tu terminal |
| head | – | Muestra las primeras 10 líneas de un archivo |
| tail | – | Muestra las últimas 10 líneas de un archivo |
| ps | Estado del proceso | Muestra los procesos que se están ejecutando en tu sistema en el momento en que se ejecuta |
| top | – | Muestra una vista dinámica y en tiempo real de los procesos que se están ejecutando en tu sistema. |
| htop | – | Una versión de “top” más centrada en la interfaz de usuario |
| kill | – | Termina el proceso especificado |
| df | Espacio libre en disco | Muestra el uso del espacio en disco para todos los sistemas de archivos montados |
| libre | Muestra la cantidad de memoria libre y utilizada en el sistema | |
| du | Uso del disco | Muestra el uso del disco para un directorio específico. |
| grep | Expresión regular global Imprimir | Busca patrones de texto dentro de los archivos |
| find | – | Busca archivos y directorios según tus criterios |
| chmod | Cambiar modo | Modifica los permisos del sistema de archivos |
| ping | Packet Internet Groper (pero la mayoría de la gente solo dice “Ping”) | Comprueba si tu servidor puede conectarse a otro sitio web o servidor |
| curl | URL del cliente | Transfiere datos hacia o desde servidores. |
| netstat | Estadísticas de red | Muestra las conexiones de red y los servicios de escucha. |
| ss | Estadísticas de socket | Una versión actualizada de netstat |
| sudo | Superusuario Do | Ejecuta comandos con privilegios elevados |
| chown | Cambiar propietario | Cambia la propiedad de archivos y directorios |
| ssh-keygen | Generación de claves Secure Shell | Genera pares de claves SSH para una autenticación más segura |
| ufw | Cortafuegos sencillo | Un cortafuegos fácil de usar para la protección básica del servidor |
| systemctl | Control del sistema | Controla los servicios systemd en distribuciones Linux modernas |
| crontab | Tabla Cron | Lista de todas las tareas automatizadas (crons) programadas actualmente |
| sed | Editor de secuencias | Filtra y ajusta el texto de los archivos |
| awk | Lleva el nombre de sus desarrolladores | Herramienta de escaneo de patrones y extracción de datos |
Cuando Tu Sitio Web Carga Lentamente
Empieza por comprobar qué está consumiendo los recursos de tu servidor.
Ejecuta top o htop para ver qué procesos están utilizando más CPU y memoria. Busca cualquier proceso que consuma más del 50 % de tus recursos y comprueba si alguno de ellos se puede eliminar.
Si el uso de los recursos parece normal, comprueba el espacio disponible en disco con “df -h”. Si observas que el uso supera el 90 % en cualquier sistema de archivos, libera espacio lo antes posible. Todo se ralentiza drásticamente cuando tu servidor está lleno.
A continuación, verifica que tu servidor web funciona correctamente.
Utiliza ps aux | grep nginx (o ps aux | grep apache si utilizas Apache) para confirmar que los procesos del servidor web están activos y responden.
Comprueba los registros de errores mientras pruebas tu sitio.
Ejecuta tail -f /var/log/nginx/error.log en un terminal y, a continuación, visita tu sitio web en una ventana del navegador. Si hay algún error al ejecutar tu sitio, deberías verlo aparecer inmediatamente en tu terminal.
Por último, prueba el tiempo de respuesta de tu sitio web directamente desde el servidor con curl -I https://tusitio.com. Esto evita cualquier problema de red y te indica exactamente cuánto tiempo tarda tu servidor en responder.
Configuración de un Entorno de Desarrollo Seguro
Crea una cuenta de usuario dedicada para el trabajo de desarrollo en lugar de utilizar root para todo:
sudo adduser devuser
Configura una estructura de directorios adecuada para tu sitio de prueba. Esto mantiene los archivos de desarrollo organizados y separados de la producción:
mkdir -p /var/www/staging/{public,logs,backups}
Corrija la propiedad para que tu servidor web pueda acceder a los archivos correctamente:
chown -R devuser:www-data /var/www/staging
Establece los permisos adecuados: 755 permite al propietario leer/escribir/ejecutar, mientras que a los demás les da acceso de lectura y ejecución:
chmod -R 755 /var/www/staging
Configura tu firewall para que solo permita los servicios esenciales. Empieza por permitir SSH para que no te quedes fuera:
sudo ufw allow 22
Permite el tráfico web en los puertos HTTP y HTTPS estándar:
sudo ufw allow 80
sudo ufw allow 443
Habilita el firewall para que comience a bloquear las conexiones no autorizadas:
sudo ufw enable
Combinaciones de Comandos Que Muestran Tu Verdadero Dominio
Los usuarios avanzados combinan comandos para resolver problemas complejos:
El siguiente comando busca procesos nginx, extrae sus PID y los elimina todos en una sola línea:
ps aux | grep nginx | awk ‘{print $2}’ | xargs kill -9
Este comando find elimina automáticamente los archivos de registro con más de 7 días de antigüedad para liberar espacio en disco:
find /var/log -name “*.log” -mtime +7 -delete
Este comando du combinado muestra los 5 directorios más grandes de tu raíz web, ordenados por tamaño:
du -sh /var/www/* | sort -hr | head -5
Si recibes errores 404, ejecuta este comando para contarlos en tu registro de acceso e identificar los enlaces rotos:
grep -c “404” /var/log/nginx/access.log
¿Y Ahora Qué?
Una vez que te sientas cómodo con estos 30 comandos, querrás un proveedor de VPS de calidad que sea rápido y flexible, a la vez que te ofrezca un control total para tus habilidades en crecimiento.
El alojamiento VPS de DreamHost te ofrece precisamente eso. Obtienes acceso root completo para experimentar con seguridad, almacenamiento SSD que agiliza las operaciones con archivos y recursos escalables cuando tus proyectos superan sus límites actuales.
También incluimos copias de seguridad automáticas para que puedas experimentar sin miedo, y nuestro equipo de soporte conoce bien los entornos Linux para ayudarte con configuraciones complejas.

Sabemos Que Tienes Muchas Opciones VPS
Así es como se diferencian los servidores VPS de DreamHost: Servicio al cliente 24/7, un panel intuitivo, RAM escalable, ancho de banda ilimitado, alojamiento ilimitado de dominios y almacenamiento SSD.
Ver más