2009-10-03 18 views
7

Uruchomimy Drupala 5.x na Nginxie za pomocą php-fastcgi. Rzeczy działały dobrze przez jakiś czas. Nagle, my (użytkownicy) uruchamiamy błąd 502 Bad Gateway. Restartowanie PHP-cgi, nginx .. ponowne uruchamianie maszyny itp. Nie pomogło.Drupal + Nginx + Php-cgi: błąd 502 złej bramki

Czy ktoś inny wpadł na tego typu problemy? Jakie są możliwe podejrzanych?

+0

przedłużyć liczbę php-fastcgi pm.max_children rozmiar – num8er

Odpowiedz

0

Zazwyczaj, gdy natknąłem się na to, był to fatalny błąd w PHP. Spójrz na swój dziennik PHP-cgi, aby sprawdzić, czy jest tam. W dzienniku nginx powinno być coś takiego: 104: Connection reset by peer. W zależności od konfiguracji to (przepraszam, link dead) może pomóc, ale jeśli używasz php-fpm, to nie będzie.

3

502 błędy są zwykle spowodowane, gdy PHP z jakiegoś powodu zbzikuje. Pierwszą rzeczą, którą powinieneś zrobić, to sprawdzenie wszystkich twoich logów. Obejmuje to elementy systemowe w/var/log/i dziennikach nginx.

Jeśli nie dokonałeś żadnych ostatnich zmian, a problem zaczął się właśnie pojawiać bez wyraźnego powodu, w PHP może brakować pamięci. Wiem, że gdy dzieje się to jako moduł Apache'a, daje to pusty ekran - nie byłby zaskoczony, gdyby błąd 502 wydarzył się pod nginxem i interfejsem FastCGI. Można to łatwo naprawić, wstawiając ini_set ('memory_limit', '256M') do pliku index.php i zobacz, czy to rozwiąże problem.

Czy można również załadować samodzielne pliki PHP, które nie zawierają Drupala? Położyć wprowadzenie <? Php phpinfo(); ? > do pliku o nazwie info.php i spróbuj go kliknąć i zobacz, co się stanie.

Powodzenia!

0

Jeśli problem właśnie rozpoczęła .. Czytaj powyżej .. jeśli serwer jest właśnie nowa konfiguracja, spróbuj tego polecenia, aby zobaczyć, czy to nawet słuchać na to portu

netstat -lpn | grep ":9000" 

Jeśli Oczywiście można mieć konfiguracji szybko- cgi do pracy na innym porcie, więc po prostu zamień port 9000 w tym komunikacie na port jakiego szukasz. Jeśli nic się nie pojawi, prawdopodobnie nic nie nasłuchuje na tym porcie i najpierw musisz rozwiązać ten problem .

0

Jeśli masz firePHP, wyłącz go. Duże nagłówki powodują problemy podczas komunikacji nginx z php

10

Dziś otrzymywałem "502 Bad Gateway" na projekcie CI, po wkopaniu się w problem dowiedziałem się, że jest to problem buforów nginx fastcgi, oto jak to naprawić to: otwarty /etc/nginx/nginx.conf

dodać następujące wiersze do sekcji http:

fastcgi_buffers 8 16k; 
fastcgi_buffer_size 32k; 
+0

Dodaliśmy także następujące, oprócz ponownego uruchomienia obu usług: nginx i php5-fpm. \t fastcgi_connect_timeout 300; \t fastcgi_send_timeout 300; \t fastcgi_read_timeout 300; – zmonteca

2

mam ten błąd jak dobrze i ostatecznie wyłączyć wszystkie moduły (non-core) i umożliwić je jeden po drugim, aby zobaczyć, co spowodowało błąd.

Oto łatwy sposób na disable all non-core modules.

0

Zwiększ limit pamięci i zostanie on naprawiony. ini_set ('memory_limit', '256M');

0

To dlatego, że prawdopodobnie uaktualniono do PHP 5.5 i dlatego teraz używasz pamięci podręcznej opcode, którą możesz włączyć dwukrotnie. To jest sprawdź php.ini, a także opcache.ini.

Powiązane problemy