Bagaimana untuk mengkonfigurasi caching fail statik dalam nginx

WBOY
Lepaskan: 2023-06-03 12:31:44
ke hadapan
1887 orang telah melayarinya

1. Perkara penyediaan

Saya rasa anda memerlukan perisian nginx yang berfungsi dengan betul: pasang nginx, php 7 dan mysql 5.7 (lemp) pada ubuntu 16.04 lts.

2 Konfigurasikan nginx

Anda boleh merujuk manual arahan tamat tempoh untuk menetapkan masa tamat pengepala http ini boleh diletakkan dalam  http {}, server {}, location {} dan blok pernyataan lain atau pernyataan bersyarat dalam blok pernyataan  location {}. Secara umumnya, anda akan menggunakan arahan  expires  dalam blok pernyataan lokasi untuk mengawal fail statik anda, seperti berikut:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
  expires 365d;
}
Salin selepas log masuk

Dalam contoh di atas, semua nama akhiran ialah .jpg, .jpeg, Fail .png, .gif, .ico, .css dan .js akan tamat tempoh 365 hari selepas penyemak imbas mengakses fail tersebut. Oleh itu anda perlu memastikan bahawa blok location {} hanya mengandungi fail statik yang boleh dicache oleh penyemak imbas.

Kemudian mulakan semula proses nginx:

/etc/init.d/nginx reload
Salin selepas log masuk

Anda boleh menggunakan tetapan masa berikut dalam arahan expires :

  • off Biarkan expires dan cache-control pengepala tidak boleh ditukar.

  • epoch Tetapkan pengepala expires kepada 1 Januari 1970 00:00:01.

  • max Tetapkan pengepala expires kepada 23:59:59 pada 31 Disember 2037 dan tetapkan masa kemandirian maksimum cache-control kepada 10 tahun

  • Masa tanpa awalan @ bermakna ini ialah masa tamat yang berkaitan dengan masa capaian penyemak imbas. Anda boleh menentukan masa negatif, yang akan menetapkan pengepala kawalan cache kepada tiada cache. Contohnya: expires 10d atau expires 14w3d.

  • Masa yang diawali dengan @ menentukan masa hari untuk tamat tempoh ialah hh atau hh:mm Julat h ialah 0 hingga 24, dan julat m ialah 0. hingga 59, contohnya: expires @15:34.

Anda boleh menggunakan unit masa berikut:

  • ms: milisaat

  • s: saat

  • m: minit

  • h: jam

  • d: Hari

  • w: Minggu

  • m: Bulan (30 hari)

  • y: tahun (365 hari)

Contohnya: 1h30m bermaksud satu jam tiga puluh minit, 1y6m bermaksud satu tahun Enam bulan.

Perhatikan bahawa jika anda menggunakan pengepala yang akan tamat tempoh jauh pada masa hadapan, anda perlu menukar nama fail komponen apabila komponen diubah suai. Oleh itu, adalah idea yang baik untuk menentukan versi fail. Contohnya, jika anda mempunyai fail javascript.js dan anda ingin mengubah suainya, anda boleh menambah nombor versi selepas nama fail yang diubah suai. Kemudian penyemak imbas akan memuat turun fail Jika anda tidak menukar nama fail, penyemak imbas akan memuatkan fail (lama) daripada cache.

Selain menetapkan pengepala expires berdasarkan masa capaian penyemak imbas (seperti expires 10d), anda juga boleh menetapkan garis dasar pengepala modified dengan menggunakan kata kunci expires di hadapan masa fail itu diubah suai (sila ambil perhatian ini hanya sah untuk fail sebenar yang disimpan pada cakera keras).

expires modified 10d;
Salin selepas log masuk

3 Ujian

Untuk menguji sama ada konfigurasi anda sah, anda boleh menggunakan fungsi analisis rangkaian dalam alat pembangun Firefox dan kemudian menggunakan Akses Firefox fail statik (seperti imej). Dalam maklumat pengepala output, anda seharusnya dapat melihat pengepala  expires  dan pengepala  max-age  dengan tanda cache-control (tanda max-age  mengandungi nilai dalam saat, seperti 31536000, yang merujuk kepada masa hadapan Setahun)

Bagaimana untuk mengkonfigurasi caching fail statik dalam nginx

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi caching fail statik dalam nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan