Rumah Operasi dan penyelenggaraan Nginx Konfigurasi muat semula cache proksi terbalik Nginx dan kemas kini sumber statik tapak web dalam masa nyata

Konfigurasi muat semula cache proksi terbalik Nginx dan kemas kini sumber statik tapak web dalam masa nyata

Jul 04, 2023 pm 04:00 PM
nginx proksi terbalik Muat semula cache

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.

  1. 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 masuk

    Arahan:

  2. 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指定缓存超时时间。
  3. proxy_temp_path:设置临时目录路径。
  4. proxy_cache_key:用于生成缓存key的变量,$scheme表示请求协议,$request_method表示请求方法,$host表示请求的主机名,$request_uri表示请求的URI。
  5. proxy_ignore_headers:指定需要忽略的响应头。
  6. proxy_cache_valid:设置缓存的有效时间。
  7. proxy_cache_use_stale:定义在更新缓存时允许使用陈旧缓存的情况。
  8. 实时更新静态资源:
    若要实现实时更新网站的静态资源,我们需要在后台程序或脚本中添加额外的逻辑,以在每次更新静态资源后发出刷新缓存的请求。以下是一个简单的示例:

在后台程序或脚本中,当静态资源被更新后,发出刷新缓存的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.")
Salin selepas log masuk

Nginx的配置文件中,配置地址路由与缓存刷新:

location ~ /purge-url {
  internal;
  proxy_cache_purge cache_zone "$scheme$request_method$host$request_uri$is_args$args";
}
Salin selepas log masuk

说明:

  • location:配置处理刷新缓存请求的路由。
  • internal:表示该路由只能被内部请求访问,外部请求无法访问。
  • proxy_cache_purge:配置要刷新的缓存区域及相关参数。

通过以上配置,当发出带有X-Purge-Cache: 1的GET请求到http://your-nginx-server/purge-url时,Nginx会根据请求的URI刷新对应的缓存。

  1. 验证:
    为了验证配置的正确性,可以使用浏览器、Postman或类似的工具来发出带有X-Purge-Cache: 1
  2. 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_valid: Tetapkan masa kesahihan cache. 🎜🎜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: 🎜
    🎜lokasi: Konfigurasikan laluan yang mengendalikan permintaan cache muat semula. 🎜🎜dalaman: Menunjukkan bahawa laluan hanya boleh diakses oleh permintaan dalaman dan tidak boleh diakses oleh permintaan luaran. 🎜🎜proxy_cache_purge: Konfigurasikan kawasan cache untuk dimuat semula dan parameter yang berkaitan. 🎜
🎜Dengan konfigurasi di atas, apabila mengeluarkan permintaan GET dengan 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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

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

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

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 pelayan awan di nginx Cara mengkonfigurasi nama domain pelayan awan di nginx Apr 14, 2025 pm 12:18 PM

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.

Cara memeriksa versi nginx Cara memeriksa versi nginx Apr 14, 2025 am 11:57 AM

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 Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

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.

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

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

Cara membuat bekas untuk Docker Cara membuat bekas untuk Docker Apr 15, 2025 pm 12:18 PM

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]

Cara Memulakan Bekas oleh Docker Cara Memulakan Bekas oleh Docker Apr 15, 2025 pm 12:27 PM

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

See all articles