Nginx のキャッシュのクリア: CSS キャッシュの問題の解決
フロント サーバーとして nginx をナビゲートすると、CSS が変更される問題が発生します。サーバーを再起動してもWebサイトに反映されません。この複雑な問題のため、あなたは膨大なオンライン リソースにガイダンスを求めましたが、役に立ちませんでした。
よくある誤解は、var/cache/nginx にあるはずのキャッシュ ディレクトリを削除しても、実際にはキャッシュ ディレクトリが存在しないことに気づくというものです。サーバ。代わりに、nginx 設定を分析すると、より微妙な問題が明らかになります。
Sendfile の役割
nginx 設定パラメータである Sendfile は、仮想環境内でキャッシュの問題を引き起こすことが知られています。マシン環境、特に Virtualbox を使用する場合。このパラメータは、ファイル記述子間のデータ転送を最適化することを目的としており、仮想化シナリオで使用すると問題が発生します。
この問題を解決するには、nginx.conf の sendfile オプションを無効にします。そうすることで、nginx は静的ファイルを提供するための代替方法を採用し、キャッシュの問題を排除します。
技術的説明
Sendfile は基本的に 2 つのファイル記述子の間のギャップを埋めます。データをシームレスに転送できるようになります。ただし、Virtualbox などの仮想環境内では競合する動作が発生します。 sendfile を非アクティブ化すると、nginx は別のアプローチを使用するようになり、ファイルの変更が即座に反映されるようになります。
追加の洞察
このキャッシュの問題は、Virtualbox で文書化されたバグと密接に関係しています。 https://www.virtualbox.org/ticket/12597。上で概説したように sendfile パラメーターに対処することで、CSS の変更と Web サイトに表示されるコンテンツの間の不一致を効果的に解決できます。
以上がサーバーを再起動した後でも、CSS の変更が Nginx に表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。