


Konfigurasi muat semula cache proksi terbalik Nginx dan kemas kini sumber statik tapak web dalam masa nyata
Konfigurasi muat semula cache proksi terbalik Nginx, kemas kini masa nyata sumber statik laman web
Pengenalan:
Dalam pembangunan web, sumber statik merupakan bahagian yang amat diperlukan dalam tapak web. Walau bagaimanapun, sumber statik yang kerap dikemas kini boleh menyebabkan pengguna melihat versi lama semasa akses atau dimuatkan dengan perlahan. Cara yang berkesan untuk menyelesaikan masalah ini ialah menggunakan fungsi caching proksi terbalik Nginx dan mengkonfigurasinya untuk mengemas kini sumber statik tapak web dalam masa nyata. Artikel ini akan memperkenalkan cara untuk mencapai fungsi ini melalui konfigurasi Nginx.
-
Dayakan cache proksi terbalik:
Pertama, kita perlu mendayakan cache proksi terbalik dalam konfigurasi Nginx. Cari fail konfigurasi Nginx (biasanya nginx.conf) dan bukanya, kemudian cari bahagian http dan tambah konfigurasi berikut:http { proxy_cache_path /path/to/cache/directory levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m; proxy_temp_path /path/to/temporary/directory; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_ignore_headers "Cache-Control" "Expires"; proxy_cache_valid any 10m; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; server { ... location / { proxy_cache cache_zone; proxy_pass http://backend-server; } ... } }
Salin selepas log masukArahan:
proxy_cache_path
: Tetapkan laluan cache proksi terbalik dan konfigurasi berkaitan.levels
ialah tahap direktori,keys_zone
ialah nama dan saiz kawasan cache,max_size
menetapkan saiz maksimum cache,tidak aktif
Tentukan tamat masa cache.proxy_cache_path
:设置反向代理缓存路径以及相关配置。levels
是目录层级,keys_zone
是缓存区域的名称与大小,max_size
设置缓存的最大大小,inactive
指定缓存超时时间。proxy_temp_path
:设置临时目录路径。proxy_cache_key
:用于生成缓存key的变量,$scheme表示请求协议,$request_method表示请求方法,$host表示请求的主机名,$request_uri表示请求的URI。proxy_ignore_headers
:指定需要忽略的响应头。proxy_cache_valid
:设置缓存的有效时间。proxy_cache_use_stale
:定义在更新缓存时允许使用陈旧缓存的情况。- 实时更新静态资源:
若要实现实时更新网站的静态资源,我们需要在后台程序或脚本中添加额外的逻辑,以在每次更新静态资源后发出刷新缓存的请求。以下是一个简单的示例:
在后台程序或脚本中,当静态资源被更新后,发出刷新缓存的HTTP请求:
import requests def refresh_cache(): url = "http://your-nginx-server/purge-url" headers = {"Host": "your-hostname"} response = requests.get(url, headers=headers) if response.status_code == 200: print("Cache refreshed successfully!") else: print("Failed to refresh cache.")
Nginx的配置文件中,配置地址路由与缓存刷新:
location ~ /purge-url { internal; proxy_cache_purge cache_zone "$scheme$request_method$host$request_uri$is_args$args"; }
说明:
-
location
:配置处理刷新缓存请求的路由。 -
internal
:表示该路由只能被内部请求访问,外部请求无法访问。 -
proxy_cache_purge
:配置要刷新的缓存区域及相关参数。
通过以上配置,当发出带有X-Purge-Cache: 1
的GET请求到http://your-nginx-server/purge-url
时,Nginx会根据请求的URI刷新对应的缓存。
- 验证:
为了验证配置的正确性,可以使用浏览器、Postman或类似的工具来发出带有X-Purge-Cache: 1
proxy_temp_path
: Tetapkan laluan direktori sementara. proxy_cache_key
: Pembolehubah digunakan untuk menjana kunci cache, $scheme mewakili protokol permintaan, $request_method mewakili kaedah permintaan, $host mewakili nama hos yang diminta dan $request_uri mewakili URI yang diminta.
proxy_ignore_headers
: Tentukan pengepala respons yang perlu diabaikan. 🎜🎜proxy_cache_use_stale
: Mentakrifkan keadaan di mana cache basi dibenarkan untuk digunakan semasa mengemas kini cache. 🎜🎜Kemas kini sumber statik dalam masa nyata: 🎜Untuk mencapai pengemaskinian masa nyata sumber statik tapak web, kami perlu menambah logik tambahan dalam program latar belakang atau skrip untuk mengeluarkan permintaan untuk memuat semula cache selepas setiap kemas kini statik sumber. Berikut ialah contoh mudah: 🎜🎜🎜Dalam program atau skrip latar belakang, apabila sumber statik dikemas kini, keluarkan permintaan HTTP untuk memuat semula cache: 🎜rrreee🎜Dalam fail konfigurasi Nginx, konfigurasikan penghalaan alamat dan muat semula cache: 🎜 rrreee🎜 Penerangan: 🎜- 🎜
proxy_cache_purge
: Konfigurasikan kawasan cache untuk dimuat semula dan parameter yang berkaitan. 🎜X-Purge-Cache: 1
kepada http://your-nginx-server/purge-url code>, Nginx akan menyegarkan cache yang sepadan mengikut URI yang diminta. 🎜<ol start="3">🎜Pengesahan: 🎜Untuk mengesahkan ketepatan konfigurasi, anda boleh menggunakan penyemak imbas, Posmen atau alat yang serupa untuk mengeluarkan GET dengan <code>X-Purge-Cache: 1
bertanya. Jika cache berjaya dimuat semula, apabila mengakses sumber statik yang sepadan sekali lagi, versi terkini akan diperoleh daripada pelayan bahagian belakang dan cache akan dikemas kini untuk memastikan pengguna melihat sumber statik terkini. 🎜🎜🎜Kesimpulan: 🎜Melalui konfigurasi cache proksi terbalik Nginx dan kaedah menyegarkan sumber statik dalam masa nyata, kami boleh meningkatkan prestasi dan kelajuan akses tapak web, dan memastikan pengguna boleh mendapatkan sumber statik terkini dalam masa nyata. Ini amat penting untuk tapak web yang kerap dikemas kini. Ia juga boleh mengurangkan tekanan pada pelayan bahagian belakang dan meningkatkan kestabilan dan kebolehpercayaan tapak web. Saya harap pengenalan ini akan membantu anda! 🎜Atas ialah kandungan terperinci Konfigurasi muat semula cache proksi terbalik Nginx dan kemas kini sumber statik tapak web dalam masa nyata. 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

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.

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.

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.

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.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

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]

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".
