Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi caching fail statik dalam nginx

Bagaimana untuk mengkonfigurasi caching fail statik dalam nginx

WBOY
WBOYke hadapan
2023-06-03 12:31:441826semak imbas

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;
}

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

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;

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam