nginxで502 bad gatewayエラーの対処法について
LNMP(Linux+Nginx+Mysql+PHP)でWebサーバを運用していますが、
ある日から、なぜか「502 bad gateway」 のエラーがたまたま出ます。
原因を教えてください。
ある日から、なぜか「502 bad gateway」 のエラーがたまたま出ます。
原因を教えてください。
ベストアンサー
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
[www.test.com]を自分サイトURLに変更してください。
また、自動実行できるように「/etc/crontab」に下記の情報を追加してください。
例えば:
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