PHP を使用するサーバー上のページに移動すると、「502 Bad Gateway」エラーが発生するという問題が頻繁に発生します。
エラーログ:
/var/log/nginx/error.log
毎分このエラーの約 3 つのコピーを示します。
2016/08/27 15:07:22 [error] 17309#0: *53554 connect() to unix:/var/run/php5-fpm.sock
failed (11: Resource temporarily unavailable) while connecting to upstream, client:
[dedicated server], server: localhost, request: "POST /xmlrpc.php HTTP/1.0",
upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: [my IP address]
nginx
またはプロセスからの CPU 負荷php5-fpm
が非常に大きくなる (100% を超える) こともありますが、わずかに目立つ (2%) こともあり、重要でないことはめったにありません。
syslog
(!)でよく見かけるものを次に示します。
Aug 27 15:17:21 [site] avahi-daemon[871]: Invalid response packet from host
[some IP address that isn't mine and nslookup never heard of].
私がこれまでに試したこと:
apt-get update
php5
、php5-cgi
、および を削除して再インストールphp5-fpm
apache2
システムで実行されていないことを確認しましたこれを...
nginx.conf
内の に追加しました:http {
}
fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;
を実行している同じユーザーが を
nginx
所有していることを確認しました/var/run/php5-fpm.sock
。これは、listen.owner
およびlisten.group
で参照されている所有者と同じ/etc/php5/fpm/pool.d/www.conf
です。そのソケットへの参照を TCP/IP ソケットに変更してみました:
/etc/nginx/sites-available/default
fastcgi_pass unix:127.0.0.1:9000;
/etc/php5/fpm/pool.d/www.conf
行を含む行を含むlisten = 127.0.0.1:9000;
これにより php ページが機能しなくなったので、その変更を元に戻しました。
nginx.conf
セットアップで PHP ファイルを無効にしていないことを確認しました。私はそうではなく、時にはうまくいくので、それはあり得ません。
php5-fpm セットアップ:
(a)頻繁に発生するため、(b)504エラーが発生しない場合、phpを使用するページで読み込み時間が非常に遅くなるため、php5がメモリまたはCPU時間を消費する問題であると思われます。/etc/php5/fpm/pool.d/www.conf
ファイルの関連部分は次のとおりです。
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
だから:他に何を試すべきですか?ティア。