502,504エラー溶液下nginxの

  
                  

nginxの502不正なゲートウェイが実行されたPHP-CGI要求の意味ですが、いくつかの理由で(通常はリソースを読み込む

次は道の概要を参照、エラーの説明を喜ばせるためであります問題は)PHP-CGIプロセスが終了が生じ完了していません。

nginxの504ゲートウェイタイムアウト・ゲートウェイへの要求の意味が要求されていないが、要求がPHP-CGIを実行するように単に不可能です。

第二に、エラー原因解析:

この2つの問題を解決するための一般的なnginxの502不正なゲートウェイとについて設定のphp-fpm.confで、実際に包括的思考の必要性である、

とnginxの504ゲートウェイタイムアウトをnginx.conf関連が設けられています。

2つの重要なパラメータは、あるPHP-fpm.conf一つです' max_children'、他の' request_terminate_timeout',が、この値が普遍的ではなく、独自の計算を必要とします。以下のように計算
は、

次の:

、サーバーのパフォーマンスが十分である場合には、ブロードバンドのリソースが十分で、PHPスクリプトは、その後、ループやバグを結ぶしないことができます直接' request_terminate_timeout' 0に設定。 0意味は、PHP-CGIが行くと時間制限なしを実施してきたようにすることです。 request_terminate_timeout'そして、あなたはあなたのPHP-CGIはBUG表示されることがあります、またはあなたのPHP-CGIのブロードバンド不足や他の原因は、私はあなたが与える&'示唆その後、死を装うことができ、これを行うことができない場合値を割り当て、この値は、サーバーのパフォーマンスに応じて設定することができます。あなたは30分〜20分であることができ、設定することができ、パフォーマンスより良い一般的に高いです。実行するのに長い時間がかかり、一部は10分以上もあり、私のサーバーのPHPスクリプトは、私は900秒を設定しているので、これは死んだとこのエラーに502不正なゲートウェイPHP-CGIにつながることはありません。

ザ・' max_children'これはそれから値を計算する方法ですか?原則的には、この値が大きく、より良い、PHP-CGIプロセスをより迅速に処理、要求は少数になりますキューに入れられています。設定し' max_children'また、サーバーのパフォーマンスに応じて必要が設定され、それぞれのphp-cgiのかかりメモリの一般的な1つのサーバー使用率をおよそ20Mで、ので、私の' max_children'私は40を提供し、すべてのPHP-CGIのメモリーのピーク時である20M×40 = 800Mは、私の使用可能なメモリ1GBの下に、以下800Mを消費します。 max_children'のような5-10を小さく設定し、その後、PHP-CGIが可能&'ます;'私の&'があれば、疲れて処理速度が非常に遅い、待機時間が長くなります。問題が発生した場合、長い時間が要求されていない場合は治療が504ゲートウェイタイムアウト・エラーが発生することになり、それらのいくつかのphp-cgiのの疲れが処理されているこのエラーの502不正なゲートウェイとなります。

第三に、一時的な解決策:

要するに、nginxの先端502及び504は、エラー暫定的な解決策は、次のとおり

1、調整PHP-fpm.conf設定:<;

<値の名前=" max_children"> 32<> /値の値の名前=" request_terminate_timeout"> 1930< /値>

2、調整関連する設定nginx.conf:256 server_names_hash_bucket_size;;;のsendfileに、上TCP_NOPUSHを

はオフserver_tokens client_header_buffer_sizeの256K; 4 256Kをlarge_client_header_buffers、256Kをclient_body_buffer_size; client_header_timeout 3mの、client_body_timeout 3mの、send_timeout 3mの、client_max_body_size 50メートル、120 keepalive_timeout?;

300 #fastcgi_connect_timeout; 300 #fastcgi_read_timeout; #fastcgi_buffer_sizeの64K; #fastcgi_buffers 4 64K; #fastcgi_busy_buffers_sizeの128K、128K #fastcgi_temp_file_write_size; 300 #fastcgi_send_timeout

fastcgi_inte上rcept_errors; fastcgi_connect_timeout 600; fastcgi_buffer_sizeの256Kが; fastcgi_busy_buffers_size 512K; fastcgi_temp_file_write_sizeの512K; 16 256Kをfastcgi_buffers fastcgi_send_timeout 600; 600 fastcgi_read_timeout

IV溶液:A、crontabのPHP-FPM平滑再開コマンドBに書き込ま、値max_requestsを減少させるために、子どもたちの価値を高めるのに適し。クラウドホスト5-10で通常の子供たちのために、特に自己調整、1000年から2000年をmax_requests。ところで、高メモリの動作時間が短くなるのmax_requestsのphp-cgiの再起動サイクルの問題偶発インパクトの値を小さくすることができます。

Copyright © Windowsの知識 All Rights Reserved