Drupal + Nginx + Php-cgi: 502 Bad Geçidi hata

6 Cevap php

We are running Drupal 5.x on Nginx with php-fastcgi. Things were working fine for a while. All of a sudden, we (users) are running into 502 Bad Gateway error. Restarting PHP-cgi, nginx.. rebooting machine etc did not help.

Başkasının sorunu bu tür çalıştırmak mı? Olası şüpheliler nelerdir?

6 Cevap

Today I was getting “502 Bad Gateway” on a CI project , after digging into the problem I found out it is a problem of nginx fastcgi buffers , here is how to fix it : open /etc/nginx/nginx.conf

http bölümüne aşağıdaki satırları ekleyin:

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;

PHP nedense ürkütüyor zaman 502 hataları genellikle kaynaklanır. Yapmanız gereken ilk şey günlük dosyalarından tüm kontrol etmektir. / Var / log / ve nginx günlükleri sistem şeyler içerir.

Eğer herhangi yeni bir değişiklik yapılmış değil ve sorun sadece hiçbir belirgin nedeni oluyor başladı, PHP bellek azalıyor olabilir. Boş bir ekran verir bir Apache modülü olarak ne zaman olur ben biliyorum - bir 502 hata nginx ve FastCGI arayüz altında olduysa Tatlıya şaşıracaksınız. Bu sizin index.php içine ini_set('memory_limit', '256M') koyarak düzeltmek ve bu sorunu giderir görmek kolaydır.

Ayrıca, Drupal içermeyen yalnız PHP dosyalarını ayakta yükleyebilirsiniz? <?php phpinfo(); ?> eklemelisin adlı bir dosya içine koyarak koymak ve o isabet deneyin ve neler olacağını görün.

İyi şanslar!

Ben de bu hata var ve ben sonunda tüm modülleri (non-core) devre dışı bırakmak ve hataya neyin neden olduğunu görmek için onları birer birer etkinleştirin.

İşte disable all non-core modules için kolay bir yoldur.

Sorun sadece başlamıştır .. Eğer sunucu yeni sadece kurulum ise, hatta bu limanı dinleyen olup olmadığını görmek için bu komutu deneyin .. Yukarıda Oku

netstat -lpn | grep ":9000"

Tabii eğer farklı bir port üzerinde çalışmak için kurulum hızlı-cgi var, bu yüzden sadece bir şey göstermek için devam ederse, muhtemelen hiçbir şey bu port dinlediğini .. aradığınızı hiç port ile bu açıklamada noktasını 9000 yerini alabilir ve öncelikle bu sorunu çözmek gerekir.

Ben bu rastlamak zaman Genellikle PHP yerde önemli bir hata olmuştur. Orada olup olmadığını görmek için PHP-cgi günlüğüne bakabilirsiniz. Böyle nginx günlüğüne bir şey olmalı: 104: Connection reset by peer. Ayarlarınıza bağlı olarak bu (sorry, link dead) yardımcı olabilir ancak kullandığınız eğer php-fpm böyle olmaz.

bellek sınırı artırmak ve sabit olacak. ini_set ('memory_limit', '256M ');