Nginx 502 Bad Gateway エラーに何度か遭遇しました。ここでメモしておこうと思います。 502 エラーが発生する状況は多数あります。それぞれの状況について個別に説明しましょう。 1. fastcgiバッファが小さすぎる エラーが発生した場合は、まず /var/log/nginx ディレクトリ内の nginx ログ ファイルを探します。ログには次のエラーが見つかります。 2013/01/17 13:33:47 [エラー] 15421#0: *16 アップストリームからの応答ヘッダーの読み取り中にアップストリームが大きすぎるヘッダーを送信しました 情報を調べたところ、nginx バッファにバグがあり、当社の Web サイトのページがバッファを過剰に消費する可能性があることがわかりました。 ネットで解決策を探したところ、海外のウェブサイトでバッファを増やす方法を見つけ、Nginx 502 Bad Gateway の問題が完全に解決しました。方法は次のとおりです。 http { ... fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; ... } サーバーやウェブサイトの状況に応じて、上記2つの設定項目を増やしてください。 2. プロキシバッファの設定が小さすぎる nginx リバース プロキシを使用している場合、ヘッダーが大きすぎてデフォルトの 1k を超えると、上記のアップストリームから送信されたヘッダーが大きすぎるというエラーが発生します (簡単に言うと、nginx は外部リクエストをバックエンドに送信して処理しますが、バックエンドから返されるヘッダーが大きすぎて nginx が処理できず、502 が発生します)。 サーバー{ 聞く 80; サーバー名 *.lxy.me; 位置 / { ################# 次の 3 行を追加します proxy_buffer_size 64k; プロキシバッファ 32 32k; proxy_busy_buffers_size 128k; ################ 次の 3 行を追加します proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ............ } 3. php-cgiプロセスのデフォルト数が少なすぎる インストールおよび使用中に 502 エラーが発生した場合、通常は php-cgi プロセスのデフォルト数が 5 であることが原因です。502 は、phpcgi プロセスが不足していることが原因である可能性があります。/usr/local/php/etc/php-fpm.conf を変更し、max_children 値を適切に増やす必要があります。 max_requests 値が十分でない可能性もあります。これら 2 つの設定項目は大量のメモリを消費するので、サーバーの構成に応じて設定してください。そうしないと逆の効果が出る可能性があります。 4. PHP実行タイムアウト PHP 実行タイムアウト。/usr/local/php/etc/php.ini を変更し、max_execution_time を 300 に変更します。 5. nginx 待機時間タイムアウト 一部の PHP プログラムの実行時間は、Nginx の待機時間を超えます。nginx.conf 構成ファイルで FastCGI のタイムアウト時間を適切に増やすことができます。 http { fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; ..... } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.22 winx64 のインストールと設定方法のグラフィックチュートリアル
>>: JavaScript シングルスレッドと非同期の詳細
ご存知のとおり、cd コマンドがないと、Linux でディレクトリを切り替えることはできません。それ...
この記事では、MySQL 8.0.16 winx64.zipのインストールと設定方法の具体的なコード...
まず、Moments を開いて、写真の数が異なるいくつかのレイアウトを確認するか、以下の例を参照して...
目次序文webpack-deb サーバーwebpack-dev-server 起動エラー解決策1解決...
<br />私は数年間フロントエンドに取り組んできました。フロントエンドについて完全に理...
centos8 ディストリビューションは、BaseOS および AppStream リポジトリを通じ...
序文テーブルを削除するには、無意識に思い浮かぶコマンドは、DROP TABLE "テーブル...
目次1. JSの特徴1.1 マルチパラダイム1.2 説明1.3 シングルスレッド1.4 ノンブロッキ...
目次グローバル共有コンテンツファイルを作成するファイルをインポートしてグローバルに登録するページ共有...
Linux オンラインインストール関連コマンド: yum install: すべてインストールyum...
コードをコピーコードは次のとおりです。 <本文> //マーキーの助けを借りて<MA...
1. フローティング方式を使用する効果画像: コードは次のとおりです: (.content の高さは...
Tomcatの設定まずTomcatをインストールするTomcatのインストールは、Tomcatのイン...
mysql が正常に実行されている場合、テーブル構造を表示することは難しくありません。しかし、場合...
最近、顧客のフッターメールボックスにクリックして送信するメール機能を追加しました。Baidu で検索...