Bajo nginx 502 y 504 de error solución de

  

El siguiente es un resumen de la manera de complacer a una referencia, descripción del error:

Nginx 502 Pasarela incorrecta es el significado de la solicitud de PHP-CGI ha sido ejecutado, pero debido a Por alguna razón (por lo general leer el tema de los recursos) no se ha completado el proceso resulta en PHP-CGI termina.

Nginx 504 Pasarela fuera no se solicita el significado de la solicitud a la puerta de enlace, la solicitud no es simplemente posible realizar PHP-CGI.

En segundo lugar, el análisis de la causa del error:

resolver estos dos problemas es en realidad una necesidad de un pensamiento integral, en general, Nginx 502 Pasarela incorrecta y php-fpm.conf dedicó a,

y Nginx 504 de puerta de enlace de tiempo de espera se proporciona con nginx.conf relacionada.

php-fpm.conf hay dos parámetros críticos, uno es y " " max_children, la otra y " request_terminate_timeout y ", pero este valor no es universal, pero necesita sus propios cálculos.

calculada de la siguiente manera:

Si el rendimiento del servidor es lo suficientemente bueno, y de banda ancha recursos suficiente, script PHP no se atan lazos o ERROR, entonces usted puede directamente y " request_terminate_timeout y " establecido en 0s . 0s significado es hacer que PHP-CGI ha estado implementando ir y sin límite de tiempo. Y si no se puede hacer esto, que su PHP-CGI puede aparecer un fallo, o su banda ancha insuficiente u otras causas de su PHP-CGI puede fingir la muerte entonces le sugiero que das y " request_terminate_timeout y " la asignación de un valor, este valor se puede ajustar de acuerdo con el rendimiento de su servidor. En general, cuanto mayor sea el mejor será el rendimiento puede configurar, a 20 minutos a 30 minutos pueden ser. Desde mi script PHP servidor que toma mucho tiempo para correr, y algunos pueden ser más de 10 minutos por lo que creó 900 segundos, esto no dará lugar a PHP-CGI muertos y 502 Mala puerta de entrada a este error.

El y " max_children " esta es la forma de calcular el valor de ella? En principio, este valor es el más grande es el proceso php-cgi mejor más rápidamente procesado, en cola solicitudes serán pocos. Set " max_children " también se requiera de acuerdo con el rendimiento del servidor se establece, el uso general de un servidor de cada memoria php-cgi consume aproximadamente a 20 millones, por lo que mi y " max_children " que proporciona 40, 20M * 40 = 800M que es el tiempo máximo para toda la memoria PHP-CGI consume menos de 800 metros, a mi memoria disponible 1Gb. Y si mis y " " max_children ambiente más pequeño, tal como 5-10, a continuación, el php-cgi será y " ", la velocidad de procesamiento cansado es muy lento, el tiempo de espera es más larga. Si no se ha solicitado un largo tiempo de tratamiento será produce 504 de error de puerta de enlace de tiempo de espera, y cansado de esos pocos php-cgi se está procesando Si experimenta problemas serán 502 Mala puerta de entrada a este error.

En tercer lugar, la solución temporal:

En resumen, consejos Nginx 502 y 504 de error solución provisional es:

1, el ajuste php-fpm.conf ajustes: <;

< valor name = " max_children " > 32 < > /valor de nombre value = " request_terminate_timeout " > 30 < /valor >

2, el ajuste nginx.conf configuraciones relacionadas:

server_tokens fuera; sendfile sucesivamente; tcp_nopush sucesivamente; server_names_hash_bucket_size 256; 256k client_header_buffer_size; large_client_header_buffers 4 256k; 256k client_body_buffer_size; 3m client_header_timeout; 3m client_body_timeout; 3m send_timeout; 50m client_max_body_size; keepalive_timeout 120?;

#fastcgi_connect_timeout 300; #fastcgi_send_timeout 300; #fastcgi_read_timeout 300; #fastcgi_buffer_size 64k; #fastcgi_buffers 4 64k; 128k #fastcgi_busy_buffers_size; #fastcgi_temp_file_write_size 128k;

fastcgi_inte rcept_errors en fastcgi_connect_timeout; 600; 600 fastcgi_send_timeout; fastcgi_read_timeout 600; 256k fastcgi_buffer_size; fastcgi_buffers 16 256k; fastcgi_busy_buffers_size 512k; fastcgi_temp_file_write_size 512k;

IV Solución: A, crontab escrito en PHP-FPM suave comando de reinicio B , apto para aumentar el valor de los niños, para disminuir los max_requests valor. Para los niños normales en el huésped nube 5-10, max_requests 1000-2000, específicamente autoajustable. Por cierto, puede disminuir el valor de max_requests php-cgi ciclos de reinicio problema impacto accidental del tiempo de operación de alta memoria se hace más corto.

Copyright © Conocimiento de Windows All Rights Reserved