


Cara menggunakan Nginx untuk cache fail statik berprestasi tinggi
Cara menggunakan Nginx untuk caching fail statik berprestasi tinggi
Nginx ialah pelayan web sumber terbuka ringan yang telah mendapat perhatian dan penggunaan meluas untuk prestasi tinggi dan keupayaan serentak tinggi. Selain sebagai pelayan web, Nginx juga mempunyai fungsi penting, iaitu menyediakan fungsi caching fail statik, yang dapat mengoptimumkan kelajuan akses dan prestasi laman web dengan sangat baik. Artikel ini akan memperkenalkan cara menggunakan Nginx untuk cache fail statik berprestasi tinggi dan memberikan contoh kod yang sepadan.
- Konfigurasikan Nginx untuk akses fail statik
Untuk mendayakan fungsi caching fail statik, anda perlu mengkonfigurasi Nginx untuk mengenal pasti dan mengendalikan permintaan fail statik terlebih dahulu. Biasanya, fail statik termasuk imej, fail CSS, fail JavaScript, dsb. Berikut ialah contoh konfigurasi Nginx yang mudah:
server { listen 80; server_name example.com; root /path/to/static/files; location ~* .(jpg|jpeg|png|gif|css|js)$ { expires 30d; access_log off; } }
Dalam konfigurasi di atas, listen
menentukan port yang didengari Nginx dan server_name
menentukan nama domain pelayan. root
menentukan direktori akar tempat fail statik berada. Arahan lokasi
menentukan corak URL yang sepadan dan parameter pemprosesan yang sepadan. Dalam konfigurasi di atas, ungkapan biasa ~* .(jpg|jpeg|png|gif|css|js)$
sepadan dengan akhiran jpg, jpeg, png, gif, css atau js Untuk fail, tamat tempoh
menyatakan bahawa tempoh sah cache ialah 30 hari dan access_log off
melumpuhkan pengelogan akses kepada fail statik. listen
指定了Nginx监听的端口,server_name
指定了服务器的域名。root
指定了静态文件所在的根目录。location
指令指定了匹配的URL模式,以及对应的处理参数。在上面的配置中,通过正则表达式~* .(jpg|jpeg|png|gif|css|js)$
匹配了以jpg、jpeg、png、gif、css或js为后缀的文件,expires
指定了缓存的有效期为30天,access_log off
则禁止了对静态文件的访问日志记录。
- 配置Nginx进行静态文件缓存
为了启用Nginx的静态文件缓存功能,我们可以添加一些额外的配置指令。下面是一个示例:
location ~* .(jpg|jpeg|png|gif|css|js)$ { expires 30d; access_log off; add_header Cache-Control "public"; add_header Pragma public; etag off; }
在上述示例中,add_header
指令添加了两个头部信息,分别是Cache-Control
和Pragma
。这两个头部信息告诉客户端和其他缓存服务器在一定时间内可以使用缓存的副本。etag off
禁用了Etag头部信息,因为在某些情况下,Etag可能会导致一些兼容性问题。
- 验证静态文件缓存是否生效
为了验证静态文件缓存是否生效,可以使用浏览器的开发者工具或者命令行工具进行查看。在浏览器的开发者工具中,可以查看HTTP响应头部的Cache-Control
和Expires
字段,以及响应内容的大小。如果缓存生效,那么在第一次访问静态文件后,再次请求时会看到Cache-Control
和Expires
的值与上述配置一致,并且响应内容的大小会变得非常小。
另外,可以使用命令行工具如curl来查看HTTP响应头部信息。例如,可以执行以下命令来查看一个图片文件的HTTP响应头部信息:
$ curl -I example.com/path/to/image.jpg
如果缓存生效,那么你会在结果中看到类似下面的行:
Cache-Control: public, max-age=2592000 Expires: Thu, 10 Aug 2023 08:16:50 GMT
- 动态更新缓存
有时候我们可能需要动态地更新缓存,例如当静态文件被修改后。可以通过在文件名或者路径中添加版本号来解决这个问题。例如,假设有一个CSS文件style.css
,我们可以将其重命名为style.v1.css
Konfigurasikan Nginx untuk caching fail statik
$ nginx -s reload
Dalam contoh di atas, arahan add_header
menambah dua maklumat pengepala, iaitu Cache-Control
dan kod Pragma
>. Kedua-dua pengepala ini memberitahu pelanggan dan pelayan caching lain bahawa salinan cache tersedia untuk tempoh masa tertentu. etag off
melumpuhkan maklumat pengepala Etag, kerana dalam sesetengah kes, Etag boleh menyebabkan beberapa isu keserasian.
Sahkan sama ada cache fail statik berkesan
Untuk mengesahkan sama ada cache fail statik berkesan, anda boleh menggunakan alat pembangun penyemak imbas atau alatan baris arahan untuk menyemak. Dalam alatan pembangun penyemak imbas, anda boleh melihat medan Cache-Control
dan Expires
pengepala respons HTTP, serta saiz kandungan respons. Jika cache berkuat kuasa, selepas mengakses fail statik buat kali pertama, anda akan melihat bahawa nilai Cache-Control
dan Expires
adalah konsisten dengan yang di atas. konfigurasi apabila anda meminta sekali lagi, dan kandungan respons akan Saiz akan menjadi sangat kecil.
- 🎜Cache Kemas Kini Dinamik 🎜 Kadangkala kita mungkin perlu mengemas kini cache secara dinamik, seperti apabila fail statik diubah suai. Anda boleh menyelesaikan masalah ini dengan menambahkan nombor versi pada nama fail atau laluan. Sebagai contoh, dengan mengandaikan terdapat fail CSS
style.css
, kami boleh menamakan semula fail tersebut kepada style.v1.css
dan mengemas kini fail konfigurasi Nginx agar sepadan dengan nama fail baharu . Dengan cara ini, setiap kali fail CSS diubah suai, anda hanya perlu mengemas kini nombor versi dalam nama fail. 🎜🎜🎜Selain itu, Nginx juga menyediakan arahan muat semula untuk memuat semula fail konfigurasi tanpa menghentikan pelayan. Sebagai contoh, anda boleh melaksanakan arahan berikut untuk memuatkan semula fail konfigurasi Nginx: 🎜rrreee🎜 Dengan cara ini, Nginx akan membaca semula fail konfigurasi dan konfigurasi yang dikemas kini akan berkuat kuasa serta-merta. 🎜🎜Ringkasan🎜Dengan menggunakan Nginx untuk caching fail statik, prestasi dan kelajuan akses tapak web boleh dipertingkatkan dengan ketara. Dalam artikel ini, kami memperkenalkan cara mengkonfigurasi Nginx untuk mendayakan akses fail statik dan fungsi caching, dan menyediakan contoh kod dan kaedah pengesahan yang sepadan. Semoga kandungan ini akan membantu anda mengoptimumkan prestasi laman web anda. 🎜Atas ialah kandungan terperinci Cara menggunakan Nginx untuk cache fail statik berprestasi tinggi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Buat bekas di Docker: 1. Tarik Imej: Docker Pull [Nama Cermin] 2. Buat bekas: Docker Run [Options] [Mirror Name] [Command] 3. Mulailah bekas: Docker Start [Nama Container]

Kaedah yang boleh menanyakan versi nginx adalah: gunakan perintah nginx -v; Lihat arahan versi dalam fail nginx.conf; Buka halaman ralat Nginx dan lihat tajuk halaman.

Cara mengkonfigurasi nama domain Nginx pada pelayan awan: Buat rekod yang menunjuk ke alamat IP awam pelayan awan. Tambah blok hos maya dalam fail konfigurasi Nginx, menyatakan port pendengaran, nama domain, dan direktori akar laman web. Mulakan semula nginx untuk memohon perubahan. Akses konfigurasi ujian nama domain. Nota Lain: Pasang sijil SSL untuk membolehkan HTTPS, pastikan firewall membenarkan trafik port 80, dan tunggu resolusi DNS berkuatkuasa.

Apabila pelayan Nginx turun, anda boleh melakukan langkah penyelesaian masalah berikut: periksa bahawa proses Nginx sedang berjalan. Lihat log ralat untuk mesej ralat. Semak sintaks konfigurasi Nginx. Pastikan Nginx mempunyai keizinan yang anda perlukan untuk mengakses fail. Semak deskriptor fail untuk membuka had. Sahkan bahawa Nginx sedang mendengar di port yang betul. Tambah peraturan firewall untuk membolehkan trafik nginx. Semak tetapan proksi terbalik, termasuk ketersediaan pelayan backend. Untuk bantuan lanjut, sila hubungi Sokongan Teknikal.
