Introducción
A veces podemos tener problemas cuando uno de nuestros servidores web o sitios está inactivo. Deberíamos poder identificar este problema que probablemente esté causando los problemas y solucionar el problema.
En este artículo, compartiremos algunos pasos para la solución de problemas, que son algunos de los pasos comunes que toman los administradores cuando no se puede acceder correctamente a un sitio. Puede consultar estos pasos y solucionar el problema para que pueda poner en marcha su sitio y corriendo.
Requisitos previos
Para recuperar estos problemas, necesitará:
- Acceso al servidor Linux, con un usuario sudo.
Paso 1:Comprobar el estado del servidor
Antes de continuar con los pasos mencionados, primero debemos verificar si puede acceder al servidor. A veces, el propio servidor puede haberse caído. Puede verificar esto con el comando ping y ssh
ping your_server_ip
Si puede hacer ping a su servidor y está ARRIBA, obtendrá el siguiente resultado
e2e@compaqlaptop:~$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=18.0 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=20.1 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=21.3 ms ^C --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 18.042/19.837/21.342/1.362 ms e2e@compaqlaptop:~$
Si su servidor está inactivo, en ese caso no obtendrá ningún ping. Puede verificar si hay algún error en la consola de su servidor y reiniciar su servidor a través de Mi cuenta
Nota:Es posible que a veces no pueda hacer ping al servidor incluso cuando su servidor está ACTIVADO y esto puede deberse a que el ping está deshabilitado en su servidor
También debería poder acceder a SSH e iniciar sesión en el servidor para verificar si funciona bien. Puede acceder a su servidor a través de ssh con el siguiente comando
ssh [email protected]
si no puede iniciar sesión en su servidor, lo más probable es que su servidor esté inactivo o colgado y verifique si hay algún error en la consola de su servidor y reinicie su servidor a través de Mi cuenta
Paso 2:Supervisando su servidor
Una alta carga de procesador o consumo de memoria puede hacer que su servidor no responda. Puede consultar este artículo sobre cómo monitorear el servidor E2E a través de Zabbix
Una vez que haya identificado las anomalías en la utilización de los recursos de su servidor, puede tomar las medidas necesarias para evitar el problema.
Paso 3:Verifique los registros
Antes de rastrear cualquiera de los problemas, primero debemos verificar los registros de nuestro servidor web y los componentes relacionados. Si encontramos algún error registros o registros sospechosos en acceso registros, podremos identificar los problemas con precisión.
Los registros generalmente estarán presentes en el directorio /var/log . si tiene un servidor Apache ejecutándose en un servidor Ubuntu, de forma predeterminada, los registros se mantendrán en /var/log/apache2 . Verifique los archivos en este directorio para ver qué tipo de mensajes de error se generan. Si está utilizando una distribución que se refiere a Apache como httpd de forma predeterminada, los registros se mantendrán en
/var/log/httpd.log
Si está utilizando Nginx como su servidor web, los registros generalmente se encuentran en la ubicación a continuación
/var/log/nginx/access.log
/var/log/nginx/error.registro
/var/log/nginx/nginx_error.log
/var/log/nginx/access_error.log
Verifique los archivos en este directorio para ver qué tipo de mensajes de error se generan. Alternativamente, también puede verificar los archivos de configuración del servidor web si ha configurado una ruta manual para los registros.
Para verificar los últimos registros generados desde el servidor, puede ejecutar debajo de tail comando como se muestra en el siguiente ejemplo
tail -f /var/log/nginx/access.log
tail -f /var/log/httpd.log
También puedes ver con menos comando para ver los registros completos como se muestra a continuación, asegúrese de cambiar la ruta del archivo de registro según el suyo en el siguiente comando.
less /var/log/nginx/access.log
una vez que haya identificado el problema en los registros, podrá detectar fácilmente el problema y solucionarlo de manera adecuada.
Paso 4:Asegúrese de que su servidor web esté funcionando
Puede verificar si sus servicios están funcionando correctamente. Un método para verificar si los servicios están funcionando es el método preferido de distribución para verificar con el siguiente comando compartido.
Usar estado Comando para verificar si el servicio está activo o no. Si el servicio no se está ejecutando, puede iniciarlo con debajo de start comando
Si está usando una distribución que se refiere a Apache como Apache2, los comandos para usar la funcionalidad de Apache2 son los siguientes
service apache2 start
service apache2 stop
service apache2 restart
service apache2 reload
service apache2 status
Si está utilizando una distribución que hace referencia a Apache como httpd, los comandos son los siguientes:
service httpd start
service httpd stop
service httpd restart
service httpd reload
service httpd status
Los comandos para usar la funcionalidad de Nginx son los siguientes
service nginx start
service nginx stop
service nginx restart
service nginx reload
service nginx status
Paso 5:Verificación de la sintaxis del servidor web
Si su servidor web no se inicia, esto significa que puede haber un problema con su archivo de configuración.
Tanto Apache como Nginx necesitan una sintaxis de directiva correcta para poder leer los archivos. Los archivos de configuración se encuentran a continuación
Los directorios de configuración predeterminados para Apache son
Distribuciones Debian y Ubuntu:/etc/apache2/
Fedora, distribuciones de CentOS:/etc/httpd/
Los directorios de configuración para Nginx son
/etc/nginx/
Cada uno de estos servidores web también le brinda la posibilidad de verificar la sintaxis de configuración de sus archivos. Para verificar la sintaxis de sus archivos de configuración de Apache sin necesidad de reiniciar el servidor, puede ejecutar el siguiente comando en los sistemas Debian y Ubuntu
apache2ctl -t
httpd -t
Para verificar la sintaxis de configuración en Nginx, use el siguiente comando
nginx -t
Una vez que ejecute el comando anterior, recibirá un mensaje como Syntax OK o La prueba es exitosa Esto significa que no hay ningún error en la configuración de su servidor web. Si recibe un mensaje como "prueba fallida", hay un argumento no válido que se proporciona en el archivo de configuración y debe editarse.
Paso 6:¿El back-end de su base de datos funciona correctamente
Si configuró su sitio para conectarse con el back-end de la base de datos como MySQL, PostreSQL, MongoDB, etc., debe asegurarse de que esté en funcionamiento. Puede hacerlo cuando verificó el servidor web.
Ejecute el siguiente comando para verificar si su base de datos es MySQL/Mongod, sea cual sea la que esté ejecutando.
service mysql status
service mysqld status
service mongod status
Alternativamente, también puede verificar con el siguiente comando netstat
netstat -ntlp | grep mysql
Recibirá la salida como se muestra a continuación, si su MySQL está funcionando.
tcp 0 0 127.0.0.1:3306 0.0.0.0:* ESCUCHAR 3356/mysqld
Paso 7:Verifique si su servidor web/de aplicaciones puede conectarse al back-end de la base de datos
Aunque si su servidor web y el servidor de la base de datos están funcionando correctamente, en algún momento podemos enfrentar problemas con su conectividad ya que su aplicación no podrá conectarse a la base de datos con éxito.
Por ejemplo, en un sitio de WordPress, la configuración de conexión de la base de datos se puede probar con la configuración ubicada en el archivo wp-config.php. Debe verificar que DB_NAME, DB_USER y DB_PASSWORD sean correctos para que su sitio se conecte a la base de datos.
Puede probar si el archivo tiene la información correcta intentando conectarse a la base de datos manualmente cambiando el valor apropiado en el siguiente comando
mysql -hDB_Host -uDB_USER -pDB_PASSWORD
Paso 8:Asegúrese de que los puertos estén abiertos
Incluso si toda la configuración y la conectividad son correctas, algunas veces no podrá acceder al sitio ya que los puertos configurados deben ser accesibles. Los servidores web se ejecutan en el puerto 80 para el tráfico web normal y utilizan el puerto 443 para el tráfico cifrado con SSL.
Puede verificar si los puertos configurados están abiertos con el comando telnet
telnet your_server_ip 80
telnet your_server_ip 443
Obtendrá un resultado como el siguiente si sus puertos están abiertos
e2e@compaqportátil:~$ telnet xx.xx.xx.xx 80
Probando xx.xx.xx.xx…
Conectado a xx.xx.xx.xx.
El carácter de escape es '^]'.
También puede verificar si su aplicación/servidor web puede conectarse al puerto de su base de datos en el back-end. El servidor MySQL se ejecuta de manera predeterminada en el puerto 3306
telnet your_database_server_ip 3306
Si no se puede acceder a sus puertos web o puertos de base de datos, debe consultar la configuración de su cortafuegos. Es posible que deba abrir el puerto 80, el puerto 443 o el puerto 3306 respectivamente.
Paso 9:Verificación de la configuración de DNS
También debe asegurarse de que su dominio apunte correctamente a la IP del servidor. Si puede acceder al sitio con IP y no con su nombre de dominio, es posible que deba revisar su configuración de DNS.
Puede verificar si su sitio apunta a la IP correcta con dig debajo comando
dig A example.com +short
Obtendrá el resultado como se muestra a continuación
e2e@compaqlaptop:~$ cavar Un ejemplo.com +corto
xx.xx.xx.xx
e2e@compaqportátil:~$
Aparte de eso, verifique sus archivos de host virtual Apache o los archivos de bloque del servidor Nginx para asegurarse de que estén configurados para responder a las solicitudes de su dominio.
Conclusión
Esperamos que los consejos de solución de problemas mencionados anteriormente lo hayan ayudado a localizar y solucionar algunos de los problemas comunes que enfrentan los administradores cuando intentan poner en funcionamiento sus sitios. Si encuentra algún problema con los pasos mencionados anteriormente, no dude en discutir en los comentarios.