Solución del error interno del servidor NGINX 500 para cliente y servidor

Nginx (pronunciado Motor-X), un servidor web de código abierto lanzado al público en octubre de 2004, también funciona como balanceador de carga, proxy inverso y caché HTTP. Su popularidad y utilidad son evidentes en su adopción por importantes empresas tecnológicas como Microsoft, Google, Facebook, Twitter y Apple.

Nginx

Significado del error interno del servidor 500 en Nginx

Al igual que otras aplicaciones o servidores de software, Nginx puede encontrar errores, que su sistema de reporte de errores integrado puede identificar. Sin embargo, el error interno del servidor 500 es una situación única. Este error también aparece en varios servidores web, como Apache e IIS.

Error interno del servidor Nginx 500

El error 500 es un código de estado HTTP que indica un problema del servidor cuya causa no está claramente identificada. A diferencia de otros códigos de estado HTTP, como 403 (Prohibido) o 404 (No encontrado), no proporciona ninguna pista sobre la posible causa.

¿Cómo solucionar el error 500 en Nginx desde el lado del cliente?

Este código de error indica un problema del servidor que generalmente se puede resolver en el propio servidor. Sin embargo, en casos excepcionales, su navegador podría contribuir al problema al crear una solicitud que el servidor no puede procesar.

Para comprobar si el navegador está causando el problema, abra el sitio web en otro navegador, en otro dispositivo y en otra red. Si funciona correctamente, borre la caché y los datos del navegador original y asegúrese de que ninguna extensión del navegador esté causando el problema.

Si el sitio web de Nginx sigue mostrando el error 500, comuníquese con el administrador del servidor para resolver el problema.

¿Cómo solucionar el error 500 de Nginx en el lado del servidor?

Este error puede deberse a un simple error de sintaxis o a un problema con la aplicación backend. Dado que el error no revela la causa raíz, la solución del problema puede ser complicada. Sin embargo, no se preocupe, el enfoque sistemático que explicamos a continuación puede resolver el problema.

1. Comprobar la sobrecarga del servidor

Si su servidor está sobrecargado, podría mostrar un error interno 500 debido a recursos insuficientes para tareas esenciales. Compruebe el uso de la CPU, el uso de la memoria y la disponibilidad de espacio en disco con los comandos Free, Top o HTop. La siguiente captura de pantalla muestra el resultado tras ejecutar el comando top.

Verificación de recursos del servidor

Si el servidor está sobrecargado, agregar más recursos debería resolver el error 500 de Nginx.

2. Comprobación de la sintaxis de la composición

La razón más común de un error 500 en Nginx es una configuración incorrecta del servidor debido a un error de sintaxis de configuración.

Para solucionar esto, revise los archivos de configuración de Nginx y verifique cuidadosamente la sintaxis para detectar errores o directivas fuera de lugar.

A continuación, revise los archivos de configuración de Nginx para detectar errores de sintaxis o directivas incorrectas. Use comandos como `nginx -t` o `nginx -t -c /path/to/nginx.conf` para comprobar la sintaxis e identificar cualquier error. Ejecute los siguientes comandos en la terminal para detectar cualquier error:

cd /etc/nginx/sitios-disponibles nginx -t

Comprobación de la sintaxis de la composición

También puedes utilizar lo siguiente:

nginx -t -c /ruta/a/nginx.conf

Si se detectan errores de sintaxis, corríjalos y haga lo siguiente para reiniciar/recargar Nginx:

sudo service nginx restart nginx -s reload

En algunos casos, es posible que necesite modificar el archivo de configuración como se muestra a continuación:

try_files con try_files $uri = 404

أو

try_files $uri $uri/ /index.html; con try_files $uri/ $uri /index.php?$query_string;

3. Comprobación de los registros del servidor

Cuando Nginx genera un error 500, también crea una entrada en el registro de errores interno, que puede indicar la causa raíz del error. Los registros del servidor suelen encontrarse en:

/var/log/nginx/error.log

En una distribución de Linux, haga lo siguiente para abrir el registro del servidor:

cd /var/log/nginx cat error.log

En la página resultante, puede revisar los indicadores de la causa raíz. Por ejemplo, vea la imagen a continuación:

Comprobación de los registros del servidor

Esto indica que el servidor no pudo establecer una conexión SSL/TLS con el cliente debido a un problema con el certificado SSL. Tras identificar el problema en los registros, puede buscar posibles causas y soluciones en línea.

Si no puede abrir el registro debido a un error de "permiso denegado" en la carpeta, modifique el archivo Nginx.conf reemplazando "usuario www-data" por "usuario root". Después de guardar el archivo, reinicie Nginx e intente abrir el registro de nuevo.

4. Desactivar temporalmente Cloudflare o servicios similares

Si está utilizando Cloudflare o un servicio similar en su servidor y no está configurado correctamente o entra en conflicto con actualizaciones recientes, deshabilitarlo temporalmente puede ayudar a diagnosticar el problema.

  1. Ir Panel de control de Cloudflare Inicie sesión con sus credenciales.
  2. Ir Noticias (Descripción general) y ampliar Avanzado (Configuración avanzada).
  3. toque en Pausa el sitio web (Pausa el sitio) y confirma. Si tu proveedor de hosting tiene integraciones con Cloudflare, asegúrate de desactivarlas también.
  4. Asegúrese de tener las direcciones IP correctas para el sitio y verifique si se ha resuelto el error interno del servidor Nginx 500. Recuerde verificar las versiones HTTP y HTTPS del sitio. Desactivar CloudFlare en el sitio web

5. Verificar los certificados del servidor

Si alguno de sus certificados ha expirado o se ha vuelto inválido en su configuración actual, esto definitivamente causará un error en el servidor interno.

  1. Configurar Nginx para usar dirección IP Para su sitio web, no para el nombre de dominio. Utilice la dirección IP del servidor en la configuración de Nginx
  2. Desactivar Verificación SSL En proxy_pass, añade el certificado autofirmado. Puedes crear uno en tu panel de Cloudflare (SSL > Certificados de cliente).
  3. Compruebe si el servidor funciona correctamente. De ser así, póngase en contacto con la autoridad de certificación o revise la configuración del certificado para detectar posibles errores.

6. Compruebe si hay errores en las aplicaciones backend

Si Nginx redirige las solicitudes de los clientes a otro servicio que no se ejecuta correctamente, se genera un error 500. Por ejemplo, si el servidor redirige las solicitudes de los clientes a una aplicación backend como NodeJS, y esta no funciona correctamente, se genera el error mencionado.

Recuerde, si los registros del servidor no muestran errores, esto generalmente indica un problema de backend.

Para resolver este problema, revise los registros de la aplicación backend para detectar errores o excepciones. Por ejemplo, en WordPress, encontrará los registros de NodeJS en la siguiente ruta:

/var/www/ .com/logs/error.log

7. Permisos de archivo insuficientes

Si el servidor Nginx no tiene los permisos necesarios para acceder o ejecutar un archivo, se generará un error 500. Por ejemplo, se producirá un error interno del servidor en un sitio de WordPress si el servidor Nginx no puede acceder ni servir archivos PHP o HTML desde la carpeta public_html.

Para corregir esto, puede modificar los permisos necesarios de Nginx en los archivos o directorios a los que accede el servidor usando el comando chmodGeneralmente es 755 para directorios y 644 para archivos.

8. Comprobación de la compatibilidad de los complementos

Los plugins desempeñan un papel crucial en la mejora de las capacidades del servidor. Sin embargo, los plugins que no funcionan correctamente, están desactualizados o se actualizan excesivamente pueden causar errores internos del servidor. Por ejemplo, una actualización de WordPress puede interrumpir la funcionalidad de tu sitio, ya que muchos plugins se vuelven incompatibles hasta que se actualizan.

Para resolver este problema, asegúrese de que cada adición Madalam Con el software del servidor y otros complementos. Aunque esto pueda parecer tedioso, vale la pena el esfuerzo. Como alternativa, intenta deshabilitar todos los complementos para ver si eso resuelve el error.

Si ha actualizado recientemente el software de su servidor, intente Regreso Regrese a la versión anterior (si es posible) para comprobar si el error se ha solucionado. Esto confirmará si la actualización estaba causando el problema. Puede retrasar la actualización del software hasta que se confirme la compatibilidad de todos los complementos.

9. Compruebe si hay scripts defectuosos

Al igual que los plugins, los scripts son cruciales para ciertas funciones del sitio web. Un script corrupto, desactualizado o incompatible puede provocar un error interno del servidor.

Puedes resolver este problema por Deshabilitar scripts Revisa el servidor Nginx. Si funciona correctamente, revisa los scripts e intenta identificar los que causan el problema.

10. Aumente el valor del tiempo de espera del servidor

Si el tiempo de espera del servidor es menor que el tiempo de respuesta de Nginx, se producirá un error interno del servidor. De igual forma, si la solicitud del servidor tarda más que el tiempo de respuesta de Nginx, se producirá el problema.

Aumentar el tiempo de espera del servidor debería resolver el problema. Puede encontrar instrucciones específicas en línea.

11. Asegúrese de que todos los procesos de redirección estén funcionando.

Asegúrese de que todos los procesos de redirección funcionen correctamente cuando Nginx actúe como servidor proxy. Si el servidor no puede redirigir la solicitud del cliente al servidor backend, se producirá un error 500.

Deshabilitar temporalmente todas las redirecciones Para verificar el correcto funcionamiento, si funciona correctamente, reinicie cada proceso individualmente para identificar la redirección defectuosa. Una vez identificada, busque en línea las posibles causas y soluciones para este error de redirección específico.

12. Uso de PHP con Nginx

Nginx no soporta PHP de forma nativa; por lo tanto, configuraciones de PHP incorrectas con Nginx pueden provocar un error interno del servidor.

Para resolver este problema, verifique la integración de PHP con Nginx. Si la visualización de errores de PHP está deshabilitada, el servidor devolverá un error Nginx 500 cuando PHP detecte un problema. Habilitar la visualización de errores de PHP puede simplificar la resolución de problemas.

En CentOS 7, haga lo siguiente:

cola -f /var/log/php-fpm/www-error.log

En lugar de eso, ve a

/etc/php.ini

Y cambio

display_errors = Off

A

errores_de_visualización = Activado

También puedes buscar un mejor procesador PHP (como PHP-FPM) y habilitar el almacenamiento en caché de Nginx.

13. Utilice el enfoque minimalista.

Si aún no puede eliminar el error 500, puede utilizar el enfoque minimalista para resolver el problema.

  1. creado Respaldo Desde su sitio, reemplace el contenido del sitio con un simple archivo index.html que contenga texto sin formato.
  2. Comprueba si el sitio Obras Comience a agregar direcciones, características, servicios, complementos, scripts, etc., uno por uno.
  3. Asegúrese de probar el sitio después de cada paso y ver si el problema persiste.
  4. Devuelve el contenido a tu sitio y verifica si el contenido es la causa del problema.
  5. Una vez que encuentres el elemento que causa el problema, puedes solucionarlo buscando en Internet.

Cómo evitar que se repita el error del servidor Nginx 500 en el futuro

Puede seguir los siguientes pasos para evitar que vuelva a aparecer el error 500 de Nginx:

  • Realizar mantenimiento regular del servidor.
  • Asegúrese de que el código y el contenido del sitio (imágenes, vídeos, etc.) estén optimizados para su configuración.
  • Cree una red de distribución de contenido (CDN) para servir el sitio a través de su caché.

Si tienes alguna pregunta estamos disponibles en la sección de comentarios.

Los comentarios están cerrados.