Consejo Nginx: 500 Error interno del servidor Resolución de errores

  
                  

Este artículo le brinda una gran cantidad de razones para la causa del error de error interno del servidor 500 en nginx. Resumen y análisis de la solución Debe saber que los amigos pueden consultar la referencia

Ahora, más y más sitios están comenzando. Con Nginx, (" engine x ") es un servidor proxy inverso y HTTP de alto rendimiento y un servidor proxy IMAP /POP3 /SMTP. Nginx fue desarrollado por Igor Sysoev para el segundo sitio Rambler.ru más visitado en Rusia, que ha estado funcionando en el sitio durante más de dos años y medio. Igor publica el código fuente como una licencia BSD de clase. En el caso de conexiones concurrentes altas, Nginx es una buena alternativa al servidor Apache. Nginx también se puede utilizar como un servidor de equilibrio de carga de 7 capas. Según los resultados de la prueba, Nginx 0.6.31 + PHP 5.2.6 (FastCGI) puede soportar más de 30,000 conexiones concurrentes, lo que equivale a 10 veces la de Apache en el mismo entorno. Sin embargo, muchas personas obtendrán 500 errores al usar Nginx. Según mi uso, una gran parte de la razón se debe a que el identificador de abrir archivo es demasiado pequeño.

Bajo linux Use este comando para aumentar el identificador de archivo abierto por el proceso. Ulimit -SHn 51200 El valor predeterminado es solo 1000. Cuando el número de enlaces es pequeño, no se puede ver. Este método puede prevenir efectivamente que aparezcan 500 errores. Cuando visito el sitio web hoy, ocasionalmente me encuentro con la página de mensaje de error 500 Error interno del servidor. Revisé la información relevante y encontré que el acceso es demasiado grande y que el proceso del kernel del sistema es limitado.

La respuesta es la siguiente:

$ ulimit -n 11095

El límite del programa solo puede abrir archivos 11095. El comando ulimit establece el número de descriptores de archivos que puede tener un usuario actual. Parece que hay demasiadas concurrencias concurrentes. Necesidad de ajustar el número de configuraciones concurrentes de nginx.conf, (Mi configuración de memoria de host 2G, CPU es 2.8G,)

vi /etc/nginx/nginx.conf events {worker_connections 1024;}

Ajústese a

eventos {worker_connections 10240;}

El problema anterior seguirá ocurriendo, usando [root @ qimutian nginx] # cat /proc /sys /fs /file-max 8192 El número máximo de archivos abiertos en el sistema de archivos [root @ qimutian nginx] # ulimit -n 1024 El límite del programa solo puede abrir 1024 archivos Use [root @ qimutian nginx] # ulimit -n 8192 para ajustar o ajustar permanentemente el número de archivos abiertos en el archivo de inicio Agregue al final de /etc/rc.d/rc.local (en /etc/sysctl.conf Agregue fs.file-max = 8192) ulimit -n 8192 Ajuste el número de openes del archivo CentOS5 Use ulimit -a para encontrar que OPEN FILES no puede exceder de 1024 de manera predeterminada. La prueba de estrés de ayer mostró 500 errores. Consulte nginx para más detalles. 500 Error interno del servidor Busque en la mañana y encuentre que se ajustó de la siguiente manera. Método 1 (ajuste permanente)

vi /etc/security/limits.conf

Agregue al final del archivo: Br>

* soft nofile 8192 * hard nofile 20480

Al mismo tiempo vi /etc/sysctl.conf agregue fs.file-max = 8192 para reiniciar, el número utilizado en ulimit -n ya es 8192

Método 2 (temporal)

Ingrese ulimit -n 8192 directamente en el terminal. Presione Intro para aceptar.

500 Error interno del servidor error agregado: 1. El espacio en el disco duro está lleno

Use df -k para ver si el espacio del disco duro está lleno. Borrar el espacio en el disco duro solucionará el error 500. Si nginx tiene el registro de acceso habilitado, es mejor cerrar el registro de acceso si no es necesario. El registro de acceso ocupa mucho espacio en el disco duro. 2, error de archivo de configuración nginx

Esto no es un error de sintaxis, nginx si el archivo de configuración tiene un error de sintaxis, le preguntará cuando comience. Cuando se configura la reescritura, algunas reglas se manejarán incorrectamente con errores 500. Por favor revise sus reglas de reescritura cuidadosamente. Si algunas variables en el archivo de configuración no se configuran correctamente, habrá un error 500, como hacer referencia a una variable sin valor. 3, si los problemas anteriores no existen pueden simularse demasiada concurrencia, debe ajustar el número de configuraciones concurrentes de nginx.conf

La solución es:

1 Abrir /etc /Archivo de seguridad /limits.conf, más dos oraciones

* soft nofile 65535 * hard nofile 65535

2 Abra /etc/nginx/nginx.conf Agregue una línea debajo de worker_processes

worker_rlimit_nofile 65535;

3 Reinicie nginx, vuelva a cargar la configuración

kill -9 `ps -ef

Copyright © Conocimiento de Windows All Rights Reserved