前面に書かれた
問題の場所 一連の調査(途中の過程は省略して要点だけ直接書きます!)を経て、最終的に問題は Nginx にあることが判明しました。読者のウェブサイトのバックエンド管理システムを開くと、画像の表示が非常に遅く、Nginx フロントエンド プロキシに次のエラー メッセージが表示されていることがわかりました。 [エラー] 28423#0: アップストリームへの接続中に *5 connect() が失敗しました (111: 接続が拒否されました) バックエンドサーバーの IP アドレスを使用してサービスに直接アクセスしたところ、速度がかなり速かったため、Nginx の設定に問題があるのではないかと疑いました。 注意: 大きな添付ファイルやページ上の大きな画像をダウンロードする場合、ダウンロードが中断されたり、画像が表示できなくなったりします。Nginx のデフォルト設定では、このような問題は一度も発生したことがないと言う人もいるかもしれません。私が言いたいのは、それはあなたのウェブサイトに大きなファイルがなく、少なくとも Nginx のデフォルト設定を使用して読み込むほどの大きさではないからです。 ここでは、以下に示すように、Nginx 構成のセクションを示します。 場所 / ファイル { ルート /home/file; インデックス index.html index.htm; proxy_set_header X-Real-IP $remote_addr; proxy_set_header ホスト $host; プロキシパス http://127.0.0.1:8080 ; クライアントの最大ボディサイズは100mです。 クライアントボディバッファサイズ 128k; プロキシ接続タイムアウト 600; プロキシ読み取りタイムアウト 600; プロキシ送信タイムアウト 600; プロキシバッファサイズ 32k; プロキシバッファ 4 64k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } 以下にいくつかの重要なパラメータを示します。
これを見て、問題が分かりました。この読者の Nginx には次の設定行があります。 proxy_temp_file_write_size 16k; 彼のサーバーにある画像は基本的に 100K から 5M の間です。 問題は proxy_temp_file_write_size にあります。サーバー上のファイルがこのパラメータで設定されたサイズを超えると、Nginx はまずファイルを一時ディレクトリ (デフォルトは Nginx インストール ディレクトリの下の /proxy_temp ディレクトリ) に書き込みます。デフォルトでは、Nginx は nobody として起動されます。ls -al コマンドを使用して proxy_temp ディレクトリを表示すると、nobody が proxy_temp ディレクトリの所有者になっています。権限がないのは不思議です。次に、Nginx のインストール ディレクトリである proxy_temp の親ディレクトリを確認します。誰も権限を持っていないことがわかったので、上記の問題が発生したのは不思議ではありません。 問題を解決する 問題が特定されれば、解決しやすくなります。この問題を解決するには、以下に示すように 2 つの方法があります。
最初の方法で問題が解決した場合、たとえば、proxy_temp ディレクトリが /usr/local/nginx/proxy_temp の場合、次のコマンドを使用して、/usr/local/nginx/proxy_temp ディレクトリを誰でも書き込み可能に設定すれば、問題は解決します。 chmod -R 777 /usr/local/nginx/proxy_temp/ 2 番目の方法を使用して問題を解決する場合は、次に示すように nginx.conf ファイルを直接変更できます。 場所 / ファイル { ルート /home/file; インデックス index.html index.htm; proxy_set_header X-Real-IP $remote_addr; proxy_set_header ホスト $host; プロキシパス http://127.0.0.1:8080 ; クライアントの最大ボディサイズは100mです。 クライアントボディバッファサイズ 256k; プロキシ接続タイムアウト 1200; プロキシ読み取りタイムアウト 1200; プロキシ送信タイムアウト 6000; プロキシバッファサイズ 32k; プロキシバッファ 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 10m; } もちろん、私はこの読者が他のいくつかの構成項目を最適化するのにも協力しました。 さて、今日はここまでにしましょう!より多くの人が見て、一緒に学び、向上できるように、「いいね!」、フォロー、転送することを忘れないでください。 ! 上記は、nginx が画像表示の遅さとダウンロードの不完全さの問題を解決する方法の詳細です。nginx が画像表示の遅さとダウンロードの不完全さの問題を解決する方法の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: シンプルなショッピングカートの最も完全なコード分析を実装する JavaScript (ES6 オブジェクト指向)
>>: MySQLがウィンドウ関数で合計関数を実行するときに発生する可能性のあるバグ
序文プロジェクトでは中間層としてNodeを使用し、Nodeのデプロイにはdockerを使用します。こ...
例示するシステムを自分でインストールする場合は、通常、システム言語をカスタマイズできます。ただし、ク...
目次mysql フィルター レプリケーションメインデータベースに実装ライブラリから実装いくつかの質問...
HTMLのdivブロックを使用していて、ブロックの中央をしっかりと接続できず、解決できない場合1. ...
XHTML には似た機能を持つタグがいくつかあります。もちろん、ここでの類似性とは意味の類似性を指...
序文注: テストデータベースのバージョンはMySQL 8.0ですテーブルを作成し、ユーザー scot...
目次MySQL 結果のソート - 集計関数環境クエリ結果の並べ替えクエリのグループ化と集約生徒の平均...
この記事では、CentOS 7 で高可用性 Hadoop 2.10 クラスターを構築する方法を紹介し...
この記事では、弾幕効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的な...
FastDFSとNginxの統合:トラッカーは、負荷分散と高可用性のために Nginx と組み合わせ...
コマンド: mysqlhotcopyこのコマンドは、ファイルをコピーする前にテーブルをロックし、不完...
効果: <div class="imgs"> <!-- 背景画...
目次序文準備する要約する継承方法プロトタイプ継承プロトタイプチェーン継承コンストラクタの借用(クラス...
Web ページを設計する過程で、デザイナーが間違いを犯すのは必然です。特に新人は、新しいアイデアを実...
シングルページアプリケーションを開発する場合、特定のルートを入力し、パラメータに基づいてサーバーから...