nginxで502 bad gatewayエラーの対処法について

LNMP(Linux+Nginx+Mysql+PHP)でWebサーバを運用していますが、
ある日から、なぜか「502 bad gateway」 のエラーがたまたま出ます。
原因を教えてください。
2014-06-09 14:36 コメント
已邀请:

ベストアンサー

0

iQi - 面白いアプリを開発中

{ 賛成 }:

1.502エラーが発生する一番多い原因は、「/usr/local/php/sbin/php-fpm 」が起動していない、または存在していないことが多いです。「/usr/local/php/sbin/php-fpm 」が起動しているか、またはインストールしていることを確認してください。
2. 「/usr/local/php/etc/php-fpm.conf」のmax_childrenデフォルトが5で、リソースが足りない場合、502エラーになります。メモリーリソースが可能限り、max_childrenが多めに設定してください。例えば、4gの場合、50とか。
3. php Timeoutエラー。この場合、「/usr/local/php/etc/php.ini 」のmax_execution_timeに「300」を設定すれば、解決になります。
4. その他、Disk容量不足とか、502エラーの原因です。具的にLogを確認するうえ、判断してください。
5. また、502エラーを自動判断し、「php-fpm」が自動再起動できるScript(502.sh)を設定すれば、万が一502エラーを発生することを回避することができます。
502.sh

!/bin/sh

/usr/bin/php -q /etc/cron.daily.rsync/502.sh

!/bin/bash

CheckURL="http://www.test.com"

STATUS_CODE=`curl -o /dev/null -m 20 --connect-timeout 20 -s -w %{http_code} $CheckURL`
echo "$CheckURL Status Code:\t$STATUS_CODE"
if [ "$STATUS_CODE" = "502" ]; then

echo "$CheckURL Status Code:\t$STATUS_CODE"

        /etc/init.d/php-fpm restart
fi


[www.test.com]を自分サイトURLに変更してください。
また、自動実行できるように「/etc/crontab」に下記の情報を追加してください。
例えば:

restart-php-fpm

*/3 * * * * root /etc/cron.daily.rsync/502.sh
2014-07-11 16:07 コメント

ログインまたは登録してから回答してください

lujian
lujian

Javaが得意です。

@ステータス

  • 更新: 2014-07-27 14:24
  • 閲覧: 10867
  • フォロー: 2
EXIT フルスクリーンモード 回答