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 シングルスレッドと非同期の詳細
crontabをインストールするyum install crontabs CentOS 7が付属して...
1. 公式サイトにアクセスしてインストールパッケージをダウンロードしますダウンロードリンク: クリッ...
nginx が proxy_pass を設定する場合、末尾に "/" がある U...
目次ディレクトリ構造binディレクトリconfディレクトリlibディレクトリwebapps ディレク...
Web ページを作成する過程では、フォームがよく使用されます。しかし、フォーム上のコントロールを変更...
現在、2016サーバーは、win2008や2012よりも優れたマルチサイトhttpsサービスをサポー...
画像の周囲にテキストを折り返すとは何ですか?これは次の図の効果です。 エフェクトのCSSコードはここ...
XML/HTML コードコンテンツをクリップボードにコピー< div style = &quo...
% ワイルドカードを使用すると、インデックス失敗の問題が発生することがよくあります。ここでは、lik...
目次react-nativeプロジェクトの初期化react-nativeプロジェクトをインストールす...
私が最も頻繁に使用するコマンドは次の通りです:選択肢CDギットls ssh須藤数週間前、私はこの R...
設定手順1. DNSが設定されているかどうかを確認するDNSが設定されていない場合は、前の記事を参照...
目次1. はじめに2. ソリューションの実装2.1 実装コード2.2 コードの説明2.3 検証結果1...
昨日プロジェクトを書いていた時に、MySQL の派生版である Percona を使う必要があったので...
まず、MySQL とは何かを簡単に紹介します。簡単に言えば、データベースはデータを格納するための倉庫...