ホームページ  >  記事  >  バックエンド開発  >  php502の問題は何ですか?

php502の問題は何ですか?

王林
王林オリジナル
2019-10-17 15:38:423128ブラウズ

php502の問題は何ですか?

サーバーが 502 と表示される理由は、接続がタイムアウトしたためです。サーバーにリクエストを送信しました。サーバーには現在接続が多すぎるため、サーバーは通常の接続を提供できません応答すると、このようなエラーが発生します。

したがって、サーバーの同時実行数が非常に大きい場合は、まずマシンを追加してから、より良い結果を得るために次の方法で最適化するしかありませんが、同時実行数が小さくても 502 を取得する場合は、一般的には可能です。構成の問題、スクリプトのタイムアウトの問題が原因である可能性があります。

1. php-fpm プロセスの数が十分ではありません

netstat -napo | grep "php-fpm" | wc -l を使用して現在の数を確認してくださいfastcgi プロセス数が conf で設定した上限に近い場合は、プロセス数を増やす必要があります。

ただし、無限に増やすことはできません。サーバーのメモリに応じて、php-fpm サブプロセスの数を 100 以上に調整できます。4G メモリを備えたサーバーでは、200 で十分です。

2. Linux カーネルによって開かれるファイルの数を増やす

次のコマンドを使用できます (root アカウントである必要があります)

echo 'ulimit -HSn 65536'>> /etc/profile
echo 'ulimit -HSn 65536'>> /etc/rc.local
source /etc/profile

3. スクリプト実行時間のタイムアウト

##何らかの理由でスクリプトが返されずに長時間待機し、新しいリクエストが処理されない場合は、次の設定を適切に調整できます。

nginx.conf 主な内容は以下の通りです:

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

php-fpm.conf 内容が以下の場合:

request_terminate_timeout =10s

4. キャッシュ設定比較的小さいです

nginx.conf の構成を変更または追加します

proxy_buffer_size 64k;
proxy_buffers  512k;
proxy_busy_buffers_size 128k;

推奨チュートリアル:

PHP ビデオ チュートリアル

以上がphp502の問題は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。