Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Konfigurasi kemas kini cache proksi Nginx untuk bertindak balas terhadap perubahan tapak web dalam masa nyata

Konfigurasi kemas kini cache proksi Nginx untuk bertindak balas terhadap perubahan tapak web dalam masa nyata

WBOY
WBOYasal
2023-07-04 08:54:092005semak imbas

Konfigurasi kemas kini cache proksi Nginx, balas perubahan tapak web dalam masa nyata

Abstrak: Artikel ini akan memperkenalkan cara menggunakan konfigurasi kemas kini cache proksi Nginx untuk mencapai respons segera kepada kemas kini apabila kandungan tapak web berubah, meningkatkan prestasi tapak web dan pengalaman pengguna. Pada masa yang sama, kami akan menyediakan beberapa contoh kod praktikal untuk membantu pembaca memahami dan menggunakan ciri ini dengan lebih baik.

  1. Pengenalan
    Nginx ialah HTTP berprestasi tinggi dan pelayan proksi terbalik yang digunakan secara meluas dalam penggunaan aplikasi Internet. Dalam mod proksi, Nginx boleh cache kandungan statik tapak web, mengurangkan beban pada pelayan sumber dan mempercepatkan akses laman web. Walau bagaimanapun, apabila kandungan laman web berubah, konfigurasi lalai Nginx tidak segera mengemas kini cache, menyebabkan pengguna melihat kandungan halaman lama. Untuk menyelesaikan masalah ini, kami boleh mencapai kemas kini segera cache proksi Nginx melalui beberapa helah dan konfigurasi.
  2. Pengubahsuaian fail konfigurasi
    Pertama, kita perlu mengubah suai fail konfigurasi Nginx untuk memastikan cache boleh dimuat semula dalam masa nyata apabila kandungan tapak web dikemas kini. Kita boleh mencapai ini melalui item konfigurasi berikut:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
proxy_cache_key "$request_method|$host|$request_uri";
proxy_cache_valid 200 301 302 10m;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;

Antaranya, proxy_cache_path menentukan laluan storan dan had saiz fail cache proxy_cache_key mentakrifkan nama kunci cache , Pastikan cache boleh dimuat semula setiap kali URL yang diminta berubah proxy_cache_valid digunakan untuk menentukan tempoh sah cache kod respons HTTP 200, 301 dan 302 proxy_cache_use_stale muncul pada pelayan sumber Apabila ralat, cache tamat tempoh dibenarkan untuk digunakan. proxy_cache_path指定了缓存文件的存储路径和大小限制;proxy_cache_key定义了缓存的键名,保证每次请求URL有所变化时能够刷新缓存;proxy_cache_valid用于指定HTTP响应码200、301、302的缓存有效期;proxy_cache_use_stale则是在源服务器出现错误时,允许使用过期的缓存。

  1. 缓存更新规则
    在默认情况下,Nginx只有在缓存过期后才会主动去源服务器请求新的内容。而我们希望能够在网站内容发生变化时,即时更新缓存。为了实现这个目标,可以通过以下的配置项来设置缓存更新规则:
if ( $request_method = POST ) {
    add_header X-Nginx-Cache "BYPASS";
    proxy_cache_bypass $http_cache_control;
    proxy_no_cache 1;
}

上述配置将捕获POST请求,并在响应头中添加X-Nginx-Cache字段,用于标识该请求需要绕过缓存。同时,proxy_cache_bypassproxy_no_cache指令将确保这个请求不会被缓存。

  1. 脚本定时运行
    为了实现缓存的定时更新,我们可以编写一个脚本,通过定时任务的方式来刷新Nginx的缓存。具体的脚本内容如下:
#!/bin/bash

curl -X PURGE http://localhost/page1
curl -X PURGE http://localhost/page2
curl -X PURGE http://localhost/page3

注意到上述脚本中使用了curl

    Peraturan kemas kini cache
      Secara lalai, Nginx akan secara aktif pergi ke pelayan sumber untuk meminta kandungan baharu hanya selepas cache tamat tempoh. Dan kami mahu dapat mengemas kini cache dengan segera apabila kandungan laman web berubah. Untuk mencapai matlamat ini, anda boleh menetapkan peraturan kemas kini cache melalui item konfigurasi berikut:

    1. rrreee
    2. Konfigurasi di atas akan menangkap permintaan POST dan menambah medan X-Nginx-Cache dalam respons header for Mengenal pasti bahawa permintaan itu perlu memintas caching. Pada masa yang sama, arahan proxy_cache_bypass dan proxy_no_cache akan memastikan permintaan ini tidak akan dicache.
      🎜Skrip berjalan dengan kerap🎜Untuk melaksanakan kemas kini cache biasa, kami boleh menulis skrip untuk menyegarkan cache Nginx melalui tugas yang dijadualkan. Kandungan skrip khusus adalah seperti berikut: 🎜🎜rrreee🎜 Perhatikan bahawa perintah curl digunakan dalam skrip di atas untuk menghantar permintaan PURGE kepada Nginx untuk mengosongkan cache halaman tertentu. Kita boleh menambah URL halaman yang perlu menyegarkan cache pada skrip mengikut situasi sebenar. Kemudian, gunakan alat tugas berjadual (seperti cron) untuk menjalankan skrip ini dengan kerap untuk mencapai kemas kini berjadual pada cache. 🎜🎜🎜Kesimpulan🎜Artikel ini memperkenalkan cara menggunakan konfigurasi kemas kini cache proksi Nginx untuk mencapai respons segera apabila kandungan tapak web berubah. Kami mencapai fungsi ini dengan mengubah suai fail konfigurasi Nginx, menetapkan laluan penyimpanan cache dan peraturan kemas kini, dan menulis skrip yang dijalankan dengan kerap. Penggunaan ciri ini boleh meningkatkan prestasi tapak web dan pengalaman pengguna dengan berkesan, dan mengurangkan tekanan pada pelayan sumber daripada permintaan pengguna. Saya harap pembaca dapat lebih memahami dan menggunakan konfigurasi kemas kini cache proksi Nginx melalui pengenalan dan kod contoh artikel ini. 🎜🎜

Atas ialah kandungan terperinci Konfigurasi kemas kini cache proksi Nginx untuk bertindak balas terhadap perubahan tapak web dalam masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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