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

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

Jul 07, 2023 am 08:06 AM
proksi nginx kemas kini cache respons masa nyata

Konfigurasi kemas kini cache proksi Nginx, respons masa nyata terhadap perubahan kandungan tapak web

Pengenalan:
Dengan peningkatan jumlah lawatan tapak web, cara untuk meningkatkan prestasi tapak web telah menjadi isu penting. Nginx ialah pelayan HTTP berprestasi tinggi dan pelayan proksi terbalik, dan caching proksi merupakan bahagian penting daripadanya. Dalam operasi dan penyelenggaraan harian, selalunya perlu untuk mengemas kini dan mengubah suai kandungan tapak web sambil mengekalkan kelajuan tindak balas apabila pengguna mengaksesnya. Artikel ini akan memperkenalkan cara mengkonfigurasi caching proksi dalam Nginx dan membolehkannya bertindak balas terhadap perubahan dalam kandungan tapak web dalam masa nyata.

  1. Mengkonfigurasi cache proksi Nginx
    Dalam fail konfigurasi Nginx, kita perlu menambah konfigurasi berikut untuk mendayakan caching proksi:

    http {
      proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
    
      server {
     listen       80;
     server_name  example.com;
    
     location / {
       proxy_pass        http://backend_server;
       proxy_cache       my_cache;
       proxy_cache_key   $scheme$host$request_uri;
       proxy_cache_valid 200 304 12h;
       proxy_cache_use_stale updating;
       proxy_ignore_headers Cache-Control;
     }
      }
    }
    Salin selepas log masuk

    Dalam konfigurasi di atas, proxy_cache_path menentukan laluan storan cache fail dan parameter yang berkaitan. levels=1:2 mewakili kedalaman laluan cache, keys_zone ialah nama cache dan had saiz, max_size ialah saiz maksimum bagi cache, inactive ialah masa cache yang tidak aktif. proxy_cache_path指定了缓存文件的存储路径和相关参数。levels=1:2表示缓存路径的层次深度,keys_zone为缓存名称和大小限制,max_size为缓存的最大大小,inactive为缓存的不活跃时间。

在server段中的location部分,proxy_pass指定了后端服务的地址,proxy_cache指定了使用的缓存名称,proxy_cache_key定义了缓存的键值,proxy_cache_valid设定了响应码为200和304的请求的有效期,proxy_cache_use_stale指定了当更新缓存时是否使用旧的缓存内容,proxy_ignore_headers设置了忽略的HTTP头。

  1. 使用Nginx的proxy_cache_bypass指令实时更新缓存
    Nginx提供了proxy_cache_bypass指令,可以用于实时更新缓存。我们可以在后端服务响应时,通过设置相应的HTTP头来触发缓存更新。以下是一个示例:

    import requests
    
    def update_cache(url):
     headers = {
         'X-Cache-Bypass': '1',
     }
     response = requests.get(url, headers=headers)
     return response.text
    Salin selepas log masuk

    在上述示例代码中,通过设置X-Cache-Bypass头为1,我们可以告诉Nginx在代理缓存中绕过缓存,从而实时获取最新的内容。

  2. 自动触发缓存更新
    除了手动触发缓存更新,我们还可以通过使用定时任务或者Webhook来自动触发缓存的更新。以下是一个使用Python的Web框架Flask和Celery的示例代码:

    from flask import Flask, request
    from celery import Celery
    
    app = Flask(__name__)
    celery = Celery(app.name, broker='redis://localhost:6379/0')
    
    @app.route('/update_cache', methods=['POST'])
    def update_cache():
     url = request.form.get('url')
     result = celery.send_task('tasks.update_cache', args=[url])
     return 'Task submitted'
    
    @celery.task
    def update_cache(url):
     headers = {
         'X-Cache-Bypass': '1',
     }
     response = requests.get(url, headers=headers)
     return response.text
    
    if __name__ == '__main__':
     app.run()
    Salin selepas log masuk

    上述示例中,我们使用Flask创建了一个简单的接口/update_cache

Di bahagian lokasi segmen pelayan, proxy_pass menentukan alamat perkhidmatan backend, proxy_cache menentukan nama cache yang digunakan, proxy_cache_key Mentakrifkan nilai kunci cache, proxy_cache_valid menetapkan tempoh sah permintaan dengan kod respons 200 dan 304, proxy_cache_use_stale menentukan sama ada untuk menggunakan kandungan cache lama semasa mengemas kini cache , proxy_ignore_headers menetapkan pengepala HTTP yang diabaikan.


    Gunakan arahan proxy_cache_bypass Nginx untuk mengemas kini cache dalam masa nyata

    Nginx menyediakan arahan proxy_cache_bypass, yang boleh digunakan untuk mengemas kini cache dalam masa nyata. Kami boleh mencetuskan kemas kini cache dengan menetapkan pengepala HTTP yang sepadan apabila perkhidmatan bahagian belakang bertindak balas. Berikut ialah contoh:

    rrreee🎜Dalam kod contoh di atas, dengan menetapkan pengepala X-Cache-Bypass kepada 1, kita boleh memberitahu Nginx untuk memintas cache dalam cache proksi dan dengan itu mendapatkan yang terkini kandungan dalam masa nyata. 🎜🎜🎜🎜Secara automatik mencetuskan kemas kini cache🎜Selain mencetuskan kemas kini cache secara manual, kami juga boleh mencetuskan kemas kini cache secara automatik dengan menggunakan tugas yang dijadualkan atau Webhooks. Berikut ialah kod sampel menggunakan rangka kerja web Python Flask dan Celery: 🎜rrreee🎜Dalam contoh di atas, kami menggunakan Flask untuk mencipta antara muka mudah /update_cache untuk mencetuskan kemas kini cache melalui permintaan POST. Selepas menerima permintaan, kami menggunakan Celery untuk melaksanakan tugas kemas kini cache secara tak segerak dan mengembalikan hasil yang sepadan. 🎜🎜🎜🎜Kesimpulan: 🎜Melalui konfigurasi dan kod sampel di atas, kami boleh mengkonfigurasi cache proksi dalam Nginx dan bertindak balas terhadap perubahan dalam kandungan tapak web dalam masa nyata. Ini meningkatkan prestasi tapak sambil mendayakan kemas kini dan pengubahsuaian pantas pada kandungan tapak. 🎜🎜Sudah tentu, dalam aplikasi sebenar, faktor seperti strategi ketidaksahihan cache, ketersediaan tinggi dan keselamatan juga mungkin perlu dipertimbangkan. Semasa konfigurasi terperinci, pelarasan perlu dibuat mengikut keperluan sebenar. Saya harap artikel ini akan membantu untuk mempelajari dan memahami konfigurasi kemas kini cache proksi Nginx. 🎜

Atas ialah kandungan terperinci Konfigurasi kemas kini cache proksi Nginx untuk bertindak balas terhadap perubahan dalam kandungan 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Aplikasi Redis dalam pembangunan C#: Bagaimana untuk mencapai kemas kini cache yang cekap Aplikasi Redis dalam pembangunan C#: Bagaimana untuk mencapai kemas kini cache yang cekap Jul 30, 2023 am 09:46 AM

Aplikasi Redis dalam pembangunan C#: Bagaimana untuk mencapai kemas kini cache yang cekap Pengenalan: Dalam pembangunan Web, caching adalah salah satu cara biasa untuk meningkatkan prestasi sistem. Sebagai sistem storan Nilai Kunci berprestasi tinggi, Redis boleh menyediakan operasi caching pantas, yang membawa banyak kemudahan kepada aplikasi kami. Artikel ini akan memperkenalkan cara menggunakan Redis dalam pembangunan C# untuk mencapai kemas kini cache yang cekap. Pemasangan dan konfigurasi Redis Sebelum memulakan, kita perlu memasang Redis dan mengkonfigurasinya dengan sewajarnya. awak boleh

Konfigurasi kemas kini cache proksi Nginx untuk bertindak balas terhadap perubahan dalam kandungan tapak web dalam masa nyata Konfigurasi kemas kini cache proksi Nginx untuk bertindak balas terhadap perubahan dalam kandungan tapak web dalam masa nyata Jul 07, 2023 am 08:06 AM

Konfigurasi kemas kini cache proksi Nginx, tindak balas masa nyata kepada perubahan kandungan laman web Pengenalan: Dengan peningkatan jumlah lawatan tapak web, cara meningkatkan prestasi laman web telah menjadi isu penting. Nginx ialah pelayan HTTP berprestasi tinggi dan pelayan proksi terbalik, dan caching proksi merupakan bahagian penting daripadanya. Dalam operasi dan penyelenggaraan harian, selalunya perlu untuk mengemas kini dan mengubah suai kandungan tapak web sambil mengekalkan kelajuan tindak balas apabila pengguna mengaksesnya. Artikel ini akan memperkenalkan cara mengkonfigurasi caching proksi dalam Nginx dan membolehkannya bertindak balas ke tapak web dalam masa nyata

Bagaimana untuk menyelesaikan masalah pengemaskinian cache dan cache permintaan bagi permintaan rangkaian serentak dalam bahasa Go? Bagaimana untuk menyelesaikan masalah pengemaskinian cache dan cache permintaan bagi permintaan rangkaian serentak dalam bahasa Go? Oct 08, 2023 pm 01:21 PM

Tajuk: Penyelesaian untuk Meminta Caching dan Masalah Kemas Kini Cache Permintaan Rangkaian Serentak dalam Bahasa Go Pengenalan: Dalam pembangunan program moden, permintaan rangkaian adalah operasi yang sangat biasa, dan permintaan serentak adalah kunci untuk meningkatkan prestasi program dan kelajuan tindak balas. Walau bagaimanapun, dalam permintaan rangkaian serentak, masalah seperti permintaan berulang dan data tidak konsisten sering dihadapi. Artikel ini akan memperkenalkan cara menyelesaikan masalah ini dalam bahasa Go dengan menggunakan caching permintaan dan kemas kini cache serta memberikan contoh kod khusus. 1. Pelaksanaan caching permintaan menggunakan bahasa sync.MapGo

Strategi pengemaskinian halaman dan cache dalam sistem pembunuh kilat PHP Strategi pengemaskinian halaman dan cache dalam sistem pembunuh kilat PHP Sep 19, 2023 am 10:37 AM

Strategi pengemaskinian halaman dan cache dalam sistem jualan kilat PHP Dengan perkembangan pesat Internet dan peningkatan berterusan dalam bilangan pengguna, aktiviti jualan kilat menjadi semakin popular di platform e-dagang. Walau bagaimanapun, sebilangan besar pengguna yang mengakses halaman jualan kilat pada masa yang sama akan memberikan tekanan beban yang besar pada pelayan, menyebabkan ranap sistem atau masa tindak balas yang panjang. Untuk menyelesaikan masalah ini, statik halaman dan kemas kini cache telah menjadi strategi pengoptimuman biasa dalam sistem jualan kilat PHP. Artikel ini akan memperkenalkan cara menggunakan statik halaman dan strategi kemas kini cache dalam sistem jualan kilat PHP untuk meningkatkan prestasi dan ketersediaan sistem.

Cara melaksanakan pengemaskinian cache dan cache berbilang peringkat berasaskan kebenaran dalam Laravel Cara melaksanakan pengemaskinian cache dan cache berbilang peringkat berasaskan kebenaran dalam Laravel Nov 04, 2023 pm 01:44 PM

Cara melaksanakan pengemaskinian cache dan cache berbilang peringkat berasaskan kebenaran dalam Laravel Pengenalan: Dalam aplikasi besar, cache ialah salah satu strategi utama untuk meningkatkan prestasi dan mengurangkan beban pangkalan data. Untuk aplikasi berasaskan kebenaran, kami perlu memastikan bahawa apabila kebenaran dan peranan pengguna berubah, cache yang sepadan boleh dikemas kini dalam masa. Artikel ini akan memperkenalkan cara melaksanakan caching berbilang peringkat berasaskan kebenaran dalam rangka kerja Laravel, serta penyelesaian untuk kemas kini cache. 1. Konsep caching berbilang peringkat merujuk kepada menyediakan berbilang peringkat dalam sistem cache

Bagaimana untuk menyediakan pelayan proksi Nginx untuk mencapai pengimbangan beban antara berbilang pelayan? Bagaimana untuk menyediakan pelayan proksi Nginx untuk mencapai pengimbangan beban antara berbilang pelayan? Sep 05, 2023 am 08:30 AM

Bagaimana untuk menyediakan pelayan proksi Nginx untuk mencapai pengimbangan beban antara berbilang pelayan? Pengenalan: Dalam aplikasi Internet moden, pengimbangan beban pelayan adalah salah satu faktor penting untuk memastikan ketersediaan tinggi, prestasi dan kebolehskalaan aplikasi. Nginx ialah pelayan proksi sumber terbuka berprestasi tinggi dengan fungsi pengimbangan beban yang berkuasa. Artikel ini akan memperkenalkan cara menggunakan pelayan proksi Nginx untuk mencapai pengimbangan beban dan memberikan contoh kod yang berkaitan. Langkah 1: Pasang Nginx Mula-mula, kita perlu memasang Nginx. Boleh lulus sebagai

Bagaimana untuk mengoptimumkan mekanisme kemas kini cache melalui fungsi php? Bagaimana untuk mengoptimumkan mekanisme kemas kini cache melalui fungsi php? Oct 05, 2023 am 09:01 AM

Bagaimana untuk mengoptimumkan mekanisme kemas kini cache melalui fungsi php? Caching adalah bahagian penting dalam meningkatkan prestasi laman web. Dalam pembangunan PHP, kami sering menggunakan caching untuk mengurangkan beban pada pangkalan data dan pelayan dan meningkatkan kelajuan akses laman web. Walau bagaimanapun, dalam proses caching, kami juga menghadapi masalah konsistensi antara cache dan data, terutamanya apabila data dikemas kini. Untuk mengekalkan ketekalan cache dan data, kami boleh menyelesaikan masalah ini dengan mengoptimumkan mekanisme kemas kini cache. Artikel ini akan memperkenalkan cara mengoptimumkan mekanisme kemas kini cache melalui fungsi PHP dan menyediakan khusus

Bagaimana untuk mengkonfigurasi pelayan proksi Nginx menggunakan bekas Docker untuk menyulitkan perkhidmatan web? Bagaimana untuk mengkonfigurasi pelayan proksi Nginx menggunakan bekas Docker untuk menyulitkan perkhidmatan web? Sep 06, 2023 am 08:48 AM

Cara Mengkonfigurasi Pelayan Proksi Nginx untuk Menyulitkan Perkhidmatan Web Menggunakan Bekas Docker Dalam dunia Internet hari ini, melindungi keselamatan perkhidmatan Web telah menjadi semakin penting. Untuk melindungi data sensitif daripada dicuri atau diganggu semasa penghantaran, ia telah menjadi amalan standard untuk menggunakan protokol HTTPS untuk menyulitkan perkhidmatan web. Artikel ini akan memperkenalkan cara menggunakan bekas Docker untuk mengkonfigurasi pelayan proksi Nginx untuk melaksanakan penyulitan perkhidmatan web. Docker ialah platform kontena sumber terbuka yang membantu pembangun memudahkan aplikasi

See all articles