Generalidades
Este artículo detalla las herramientas de línea de comandos que puedes utilizar para solucionar problemas en tu sitio y servidor web.
Requisitos previos
Este artículo asume que has creado un usuario de shell y puedes iniciar sesión en tu servidor a través de SSH.
Herramientas de línea de comandos
Las siguientes secciones son herramientas de línea de comandos populares que puedes usar después de iniciar sesión en tu servidor DreamHost a través de SSH.
Uptime
El comando uptime verifica la carga actual del servidor y cuánto tiempo ha estado en funcionamiento. La carga debería permanecer en un solo dígito, pero no es raro que se produzcan picos. Por ejemplo:
[server]$ uptime 11:29:09 up 557 days, 12:30, 2 users, load average: 2.25, 2.49, 2.62
Esto muestra lo siguiente:
- Hora en que se ejecutó el comando
- Cuántos días ha estado activo el servidor
- Cuántos usuarios han iniciado sesión (son 2, tú y 'root')
- Promedio de carga de los últimos 1, 5 y 15 minutos
Lo que estás buscando es la carga durante un tiempo, no necesariamente la carga en un solo momento.
TOP
El comando top te permite ver las tareas del sistema que se están ejecutando en tiempo real. Revisa este artículo para ver ejemplos.
lsof
El comando lsof enumera los archivos abiertos. Por ejemplo, esto comprueba si hay archivos abiertos bajo un usuario específico. Se agregó la opción grep para enumerar solo los archivos PHP.
[server]$ lsof -u username | grep php
Luego puedes mirar más de cerca esos archivos para ver cuál puede ser el problema.
Usar 'watch' con el comando 'lsof'
-
Un problema con la ejecución de lsof es que puede que no haya ningún resultado útil en el momento de la ejecución. Para localizar archivos abiertos, agrega el comando watch antes del comando lsof y envía los resultados a un archivo llamado results.txt.
[server]$ watch "lsof -u username | grep php | tee -a results.txt"
Puedes ver la salida en vivo en tu terminal mientras se ejecuta. Cuando hayas terminado, haz clic en Ctrl + C para detenerlo. Luego puedes ver la salida completa en el archivo results.txt corriendo el siguiente comando:
[server]$ cat results.txt
Si no hay nada en el archivo results.txt, córrelo nuevamente. Sigue ejecutándolo hasta que tengas una línea de salida que muestre qué dominio o archivo se está utilizando actualmente.
ps
El comando ps muestra una instantánea de los procesos en ejecución en el servidor. Revisa este artículo para ver ejemplos de cómo usar este comando.