Cómo solucionar el problema de la puerta de enlace incorrecta de nginx 502
1. La configuración del búfer fastcgi es demasiado pequeña
Cuando se produce este error, primero busque el archivo de registro de nginx. El directorio es /var/log/nginx. encontrado en el registro.
17/01/2013 13:33:47 [error] 15421#0: *16 upstream envió un encabezado demasiado grande al leer el encabezado de respuesta desde upstream
Después de consultar la información, el La idea general es que hay un error en el búfer de nginx y el consumo de páginas de nuestro sitio web puede ocupar demasiado búfer.
Busqué soluciones en línea y vi un método para aumentar el búfer en sitios web extranjeros, que resolvió por completo el problema de Nginx 502 Bad Gateway. El método es el siguiente:
http {
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
...
}
Agregue las dos configuraciones anteriores de acuerdo con la configuración existente del servidor en el sitio web.
En segundo lugar, la configuración del búfer del proxy es demasiado pequeña
Si está utilizando el proxy inverso nginx, si el encabezado es demasiado grande y excede el valor predeterminado de 1k, el encabezado mencionado anteriormente enviado por se activará el flujo ascendente Demasiado grande (para decirlo sin rodeos, nginx transfiere solicitudes externas al backend para su procesamiento. Si el encabezado devuelto por el backend es demasiado grande y nginx no puede manejarlo, el encabezado es demasiado grande. Si nginx no puede manejarlo). es, el encabezado es demasiado grande.
servidor {
escucha 80;
nombre_servidor *.lxy.me;
ubicación / {
######### Añade estas 3 líneas
Agente< /span>_buffer_size 64k;
proxy_buffers 32 32k;
< a href="http://lxy.me/tag/proxy" title="Ver todas las publicaciones en proxy" target="_blank">proxy_busy_buffers_size 128k;
######### Añade estas 3 líneas
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header El el número de procesos está establecido en muy pocos
Cuando el problema 502 ocurre durante la instalación y el uso, generalmente se debe a que el número predeterminado de procesos de php-cgi es 5. Puede ser que el número de procesos de phpcgi no es suficiente, genera 502 y debe modificarse /usr
/local/php/etc/ php-fpm.php-fpm.conf
Incrementar el valor de max_children. También es posible que el valor de max_requests no sea suficiente. Cabe señalar que estas configuraciones ocuparán mucha memoria, así que configúrelas de acuerdo con la configuración del servidor
. De lo contrario, puede resultar contraproducente.
4. Tiempo de espera de ejecución de PHP
Cuando se agote el tiempo de ejecución de PHP, modifique /usr/local/php/etc/php.ini y cambie max_execution_time a 300
Cinco, tiempo de espera de nginx
El tiempo de ejecución de algunos programas PHP excede el tiempo de espera de Nginx. fastcgi_read_timeout 300;
...
}