Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Konfigurasi pembersihan cache Nginx, mengoptimumkan kemas kini sumber statik laman web

Konfigurasi pembersihan cache Nginx, mengoptimumkan kemas kini sumber statik laman web

PHPz
PHPzasal
2023-07-05 11:57:062041semak imbas

Konfigurasi pembersihan cache Nginx, optimumkan kemas kini sumber statik tapak web

Pengenalan:
Semasa proses pembangunan tapak web, selalunya terdapat kemas kini kepada sumber statik, seperti CSS, JavaScript dan imej. Walau bagaimanapun, disebabkan oleh mekanisme caching penyemak imbas, pelawat mungkin tidak dapat segera mendapatkan versi terkini sumber statik. Untuk menyelesaikan masalah ini, kami boleh menggunakan Nginx untuk konfigurasi pembersihan cache untuk mengoptimumkan kemas kini sumber statik laman web.

1. Konfigurasi cache Nginx
Pertama, kita perlu menambah arahan berikut pada fail konfigurasi Nginx nginx.conf untuk mengkonfigurasi tetapan berkaitan cache:

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location ~* .(css|js|png|jpg|jpeg|gif|ico)$ {
            expires 30d;
            add_header Pragma public;
            add_header Cache-Control "public";
            proxy_cache cache_zone;
            proxy_cache_key $scheme$proxy_host$uri$is_args$args;
            proxy_cache_valid 200 301 302 404 1d;
        }
        ...
    }
    ...
}
  1. proxy_cache_path: Tetapkan laluan ke direktori cache. level=1:2 bermaksud menggunakan subdirektori dua peringkat dalam direktori cache untuk menyimpan fail cache, yang boleh meningkatkan kelajuan carian fail. keys_zone ialah nama kawasan cache, 10m bermaksud memperuntukkan 10MB memori untuk indeks cache. max_size menunjukkan saiz maksimum fail cache, dan tidak aktif menunjukkan bahawa fail cache akan dipadamkan jika ia tidak diakses dalam masa yang ditetapkan.
  2. lokasi: digunakan untuk memadankan fail sumber statik yang perlu dicache. Dalam contoh ini, ungkapan biasa digunakan untuk memadankan CSS, JavaScript, imej dan fail lain dan masa tamat tempoh cache ditetapkan kepada 30 hari.
  3. add_header: Tambahkan maklumat pengepala respons HTTP, tetapkan Pragma kepada awam dan Kawalan Cache kepada awam untuk memastikan cache boleh dicache oleh pelayan cache dan penyemak imbas awam.

2. Konfigurasi pembersihan cache Nginx
Selepas kami mengemas kini fail sumber statik tapak web, kami perlu mengosongkan fail versi lama dalam cache supaya pelawat boleh mendapatkan sumber statik terkini. Untuk mencapai matlamat ini, kami boleh menambah kod berikut pada fail konfigurasi Nginx:

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location /purge-cache {
            internal;
            proxy_cache_purge cache_zone "$scheme$proxy_host$uri$is_args$args";
        }
        ...
    }
    ...
}
  1. lokasi: Tentukan URL /purge-cache untuk mencetuskan operasi pembersihan cache. Dalaman bermakna URL ini hanya sah untuk akses dalaman.
  2. proxy_cache_purge: Kosongkan fail cache yang sepadan dengan URL yang ditentukan.

3 Contoh Kod
Andaikan bahawa fail CSS dalam tapak web kami terletak di http://example.com/static/css/style.css, kami boleh menggunakan kod berikut untuk mengosongkan fail dalam cache:

curl -X PURGE http://example.com/purge-cache/static/css/style.css

Permintaan ini Ini akan menyebabkan nginx mengosongkan fail cache yang sepadan dengan URL dalam cache, dan cache akan dijana semula apabila URL diakses seterusnya.

Kesimpulan:
Dengan mengkonfigurasi pembersihan cache Nginx, kami boleh mengoptimumkan kemas kini sumber statik di tapak web. Apabila kami mengemas kini sumber statik, kami hanya perlu menghantar permintaan untuk mengosongkan cache, supaya pelawat boleh mendapatkan fail sumber terkini dan meningkatkan prestasi tapak web dan pengalaman pengguna.

Rujukan:

  • Dokumentasi rasmi Nginx: https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_purge

Atas ialah kandungan terperinci Konfigurasi pembersihan cache Nginx, mengoptimumkan kemas kini sumber statik laman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn