Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Konfigurasi cache proksi terbalik Nginx untuk mempercepatkan akses halaman web statik

Konfigurasi cache proksi terbalik Nginx untuk mempercepatkan akses halaman web statik

PHPz
PHPzasal
2023-07-04 18:09:071568semak imbas

Konfigurasi cache proksi terbalik Nginx untuk mempercepatkan akses halaman web statik

Pengenalan:
Dengan perkembangan pesat Internet, kelajuan akses telah menjadi faktor yang sangat penting dalam operasi laman web. Untuk meningkatkan kelajuan akses halaman web, kami boleh menggunakan teknologi caching proksi terbalik Nginx untuk mempercepatkan halaman web. Artikel ini akan memperkenalkan cara menggunakan Nginx untuk mengkonfigurasi cache proksi terbalik untuk mempercepatkan halaman web statik.

Konfigurasi cache proksi terbalik Nginx:

  1. Pemasangan Nginx:
    Mula-mula anda perlu memasang pelayan Nginx, yang boleh dipasang melalui alatan pengurusan pakej seperti apt-get dan yum.
  2. Konfigurasikan proksi terbalik Nginx:
    Buka fail konfigurasi Nginx (biasanya terletak di /etc/nginx/nginx.conf) dan cari konfigurasi bahagian pelayan. Tambahkan kod berikut di bawah pelayan:
location / {
    proxy_pass http://backend;
    proxy_cache my_cache;
    proxy_cache_valid 200 304 12h;
    proxy_cache_valid any 5m;
    proxy_cache_key $host$scheme$request_uri;
    proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
    proxy_cache_background_update on;
    proxy_cache_lock on;
    proxy_cache_lock_timeout 5s;
    proxy_cache_lock_age 10s;
    proxy_ignore_headers Cache-Control;
    proxy_ignore_headers Set-Cookie;
    proxy_ignore_headers Expires;
    add_header X-Proxy-Cache $upstream_cache_status;
}

Terangkan konfigurasi di atas:

  • proksi_pass: Tentukan alamat pelayan bahagian belakang proksi terbalik, yang boleh menjadi nombor port tempatan atau nama domain. proxy_pass:指定反向代理的后端服务器地址,可以是本地的端口号或域名。
  • proxy_cache:指定缓存的名称,在Nginx的配置文件中需要另外定义。
  • proxy_cache_valid:指定缓存数据的有效时间,这里设置200和304状态码的缓存时间为12小时,其他状态码的缓存时间为5分钟。
  • proxy_cache_key:指定缓存数据的唯一标识,这里使用域名、协议和请求URI来生成。
  • proxy_cache_use_stale:设置当后端服务器错误时是否使用过期的缓存。
  • proxy_cache_background_update:设置是否在后台更新缓存数据。
  • proxy_cache_lock:设置是否启用缓存锁,以避免多个请求同时更新缓存。
  • proxy_ignore_headers:设置忽略的响应头,这里忽略了Cache-Control、Set-Cookie和Expires。
  • add_header:添加响应头,用于显示缓存命中状态。
  1. 配置Nginx缓存:
    打开Nginx的主配置文件,在http部分的配置中添加如下代码:
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:50m inactive=24h max_size=500m;

解释上述配置:

  • proxy_cache_path
  • cache_proxy: Menentukan nama cache, yang perlu ditakrifkan secara berasingan dalam fail konfigurasi Nginx.
    proxy_cache_valid: Tentukan masa sah data cache Di sini, masa cache untuk 200 dan 304 kod status ditetapkan kepada 12 jam dan masa cache untuk kod status lain ialah 5 minit.

  1. proxy_cache_key: Menentukan pengecam unik data cache, yang dijana menggunakan nama domain, protokol dan URI permintaan.
proxy_cache_use_stale: Tetapkan sama ada hendak menggunakan cache tamat tempoh apabila ralat pelayan bahagian belakang berlaku.


proxy_cache_background_update: Tetapkan sama ada untuk mengemas kini data cache di latar belakang.

proxy_cache_lock: Tetapkan sama ada untuk mendayakan kunci cache untuk mengelakkan berbilang permintaan mengemas kini cache pada masa yang sama.

proxy_ignore_headers: Tetapkan pengepala respons yang diabaikan, Kawalan Cache, Set-Cookie dan Tamat tempoh diabaikan di sini.


add_header: Tambahkan pengepala respons untuk memaparkan status hit cache.

🎜
    🎜Konfigurasikan cache Nginx: 🎜Buka fail konfigurasi utama Nginx dan tambahkan kod berikut dalam konfigurasi bahagian http: 🎜🎜
    sudo service nginx restart
    🎜Jelaskan konfigurasi di atas: 🎜🎜🎜proxy_cache_path code>: Tentukan laluan cache, tahap cache, kawasan cache, masa tidak aktif dan saiz cache maksimum. 🎜🎜🎜🎜Mulakan semula pelayan Nginx: 🎜Selepas melengkapkan konfigurasi di atas, simpan dan keluar dari fail konfigurasi, mulakan semula pelayan Nginx melalui arahan berikut: 🎜🎜rrreee🎜Contoh hasil: 🎜Selepas konfigurasi di atas, apabila pengguna mengakses laman web, Nginx akan berdasarkan Hakim berdasarkan tetapan cache Jika fail halaman web statik yang sepadan wujud dalam cache, data cache akan dikembalikan secara langsung, dengan itu merealisasikan pecutan halaman web. 🎜🎜Kesimpulan: 🎜Melalui konfigurasi cache proksi terbalik Nginx, kami boleh mempercepatkan akses kepada halaman web statik dengan cepat. Dengan mengkonfigurasi parameter dengan betul seperti tempoh sah cache, kunci cache dan laluan cache, kelajuan akses dan pengalaman pengguna halaman web boleh dipertingkatkan lagi. Pada masa yang sama, cache proksi terbalik Nginx juga boleh mengurangkan beban pada pelayan bahagian belakang dan meningkatkan kestabilan dan kebolehpercayaan sistem. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan konfigurasi cache proksi terbalik Nginx untuk mempercepatkan akses kepada halaman web statik. Dengan konfigurasi yang betul, kelajuan akses laman web boleh dipertingkatkan dan beban pada pelayan bahagian belakang dapat dikurangkan. Kami berharap pembaca boleh mengkonfigurasinya mengikut keperluan mereka sendiri berdasarkan kod sampel yang disediakan dalam artikel ini, dengan itu meningkatkan prestasi dan pengalaman pengguna tapak web. 🎜

Atas ialah kandungan terperinci Konfigurasi cache proksi terbalik Nginx untuk mempercepatkan akses halaman web statik. 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