2009-10-03 20 views
7

Stiamo eseguendo Drupal 5.x su Nginx con php-fastcgi. Le cose stavano funzionando bene per un po '. All'improvviso, noi (utenti) stiamo eseguendo l'errore 502 di Bad Gateway. Il riavvio di PHP-cgi, nginx .. il riavvio del computer, ecc. Non ha aiutato.Drupal + Nginx + Php-cgi: errore 502 Gateway errato

Qualcun altro ha incontrato questo tipo di problema? Quali sono i possibili sospetti?

+0

estendere il conteggio di php-fastcgi pm.max_children size – num8er

risposta

0

Di solito quando ho trovato questo è stato un errore fatale in PHP da qualche parte. Dai un'occhiata al tuo log di PHP-cgi per vedere se è lì dentro. Ci dovrebbe essere qualcosa nel registro nginx come questo: 104: Connection reset by peer. A seconda della configurazione, questo (mi dispiace, link dead) potrebbe essere d'aiuto, ma se stai usando php-fpm non lo farai.

3

502 errori sono in genere causati quando PHP impazzisce per qualche motivo. La prima cosa che dovresti fare è controllare tutti i tuoi file di log. Ciò include roba di sistema in/var/log/e nei log di nginx.

Se non si sono apportate modifiche recenti e il problema si è appena verificato senza alcun motivo apparente, è possibile che PHP stia esaurendo la memoria. So che quando accade come un modulo Apache fornisce uno schermo vuoto - non sarebbe sorpreso se si verificasse un errore 502 sotto nginx e l'interfaccia FastCGI. È facile risolvere mettendo ini_set ('memory_limit', '256M') nel tuo index.php e vedi se questo risolve il problema.

Inoltre, è possibile caricare file PHP autonomi che non coinvolgono Drupal? Metti mettendo <? Php phpinfo(); ? > in un file chiamato info.php e prova a colpirlo e vedere cosa succede.

Buona fortuna!

0

Se il problema appena iniziato .. Leggi sopra .. se il server è nuova solo messa a punto, provate questo comando per vedere se è anche in ascolto sulla porta è

netstat -lpn | grep ":9000" 

Se naturalmente si potrebbe avere l'installazione in rapido cgi per lavorare su una porta diversa, quindi basta sostituire la porta 9000 in quella istruzione con la porta che stai cercando. Se non viene visualizzato nulla, probabilmente non c'è niente in ascolto su quella porta e devi risolvere il problema prima .

0

Se firePHP lo disabilita. Le grandi intestazioni causano problemi mentre nginx comunica con php

10

Oggi stavo ottenendo "502 Bad Gateway" su un progetto CI, dopo aver scavato nel problema ho scoperto che si tratta di un problema dei buffer nginx fastcgi, ecco come risolvere esso: aperta /etc/nginx/nginx.conf

aggiungere le seguenti linee in sezione http:

fastcgi_buffers 8 16k; 
fastcgi_buffer_size 32k; 
+0

Abbiamo inoltre aggiunto quanto segue, oltre a riavviare entrambi i servizi: nginx e php5-fpm. \t fastcgi_connect_timeout 300; \t fastcgi_send_timeout 300; \t fastcgi_read_timeout 300; – zmonteca

2

ho ottenuto questo errore come bene e io eventualmente disattivare tutti i moduli (non core) e attivare li uno a uno per vedere cosa ha causato l'errore.

Ecco un modo semplice per disable all non-core modules.

0

aumentare il limite di memoria e verrà risolto. ini_set ('memory_limit', '256M');

0

È perché è probabile l'aggiornamento a PHP 5.5 e quindi ora stai usando la cache opcode che potresti avere abilitato due volte. Quello è check php.ini e anche opcache.ini.

Problemi correlati