2009-10-03 23 views
7

Nos estamos quedando Drupal 5.x en Nginx con php-fastcgi. Las cosas estuvieron funcionando bien por un tiempo. De repente, nosotros (los usuarios) nos encontramos con el error 502 Bad Gateway. Reiniciar PHP-cgi, nginx .. reiniciar la máquina, etc. no ayudó.Drupal + Nginx + PHP-cgi: Error 502 Pasarela incorrecta

¿Alguien más se encontró con este tipo de problema? ¿Cuáles son los posibles sospechosos?

+0

extender el conteo de php-fastcgi pm.max_children tamaño – num8er

Respuesta

0

lo general, cuando me he encontrado con esto ha sido un error grave en PHP en alguna parte. Eche un vistazo a su registro PHP-cgi para ver si está allí. Debería haber algo en el registro nginx como este: 104: Connection reset by peer. Dependiendo de su configuración, esto (lo siento, enlace muerto) podría ayudar pero si está usando php-fpm no lo hará.

3

502 errores son causados ​​generalmente cuando PHP se asusta por alguna razón. Lo primero que debe hacer es verificar todos sus archivos de registro. Eso incluye cosas del sistema en/var/log/y los registros de nginx.

Si no se ha hecho ningún cambio reciente y el problema acaba de comenzar pasando sin razón aparente, PHP se puede ejecutar sin memoria. Sé que cuando sucede como un módulo de Apache da una pantalla en blanco, no me sorprendería si ocurriera un error 502 bajo nginx y la interfaz FastCGI. Eso es fácil de arreglar al poner ini_set ('memory_limit', '256M') en su index.php y ver si eso soluciona el problema.

Además, se pueden cargar archivos PHP soportar por sí solos que no implican Drupal? Poner poniendo <? Php phpinfo(); ? > en un archivo llamado info.php e intente golpear eso y ver qué pasa.

¡Buena suerte!

0

Si el problema acaba de comenzar .. Leer más arriba .. si el servidor es nueva configuración simplemente, tratar este comando para ver si está escuchando, incluso en su puerto

netstat -lpn | grep ":9000" 

Si supuesto, usted podría tener la configuración de rápido cgi para trabajar en un puerto diferente, así que simplemente reemplace el puerto 9000 en esa declaración con el puerto que esté buscando ... Si nada continúa apareciendo, probablemente nada esté escuchando en ese puerto y primero necesita solucionar ese problema .

0

Si tiene FirePHP deshabilítelo. grandes cabeceras causa problemas, mientras que la comunicación nginx con php

10

Hoy me estaba “502 Pasarela incorrecta” en un proyecto de CI, después de cavar en el problema descubrí que es un problema de buffers nginx fastcgi, aquí es cómo solucionarlo que: /etc/nginx/nginx.conf abierta

añadir las siguientes líneas en la sección http:

fastcgi_buffers 8 16k; 
fastcgi_buffer_size 32k; 
+0

También agregamos lo siguiente, además de reiniciar ambos servicios: nginx y php5-fpm. \t fastcgi_connect_timeout 300; \t fastcgi_send_timeout 300; \t fastcgi_read_timeout 300; – zmonteca

2

tengo este error, así y que finalmente desactivar todos los módulos (no básicos) y permitir uno por uno para ver qué causó el error.

Aquí está una manera fácil de disable all non-core modules.

0

aumentar su límite de memoria y se solucionará. ini_set ('memory_limit', '256M');

0

Es porque probablemente se haya actualizado a PHP 5.5 y, por lo tanto, ahora está usando el caché del código de operación que puede haber habilitado dos veces. Eso es chequear php.ini y también opcache.ini.

Cuestiones relacionadas