Bagaimana untuk menggunakan pelayan proksi Nginx untuk melaksanakan caching dan pramuat perkhidmatan web?

WBOY
Lepaskan: 2023-09-05 11:08:02
asal
1227 orang telah melayarinya

Bagaimana untuk menggunakan pelayan proksi Nginx untuk melaksanakan caching dan pramuat perkhidmatan web?

Bagaimana untuk menggunakan pelayan proksi Nginx untuk melaksanakan caching dan pramuat perkhidmatan web?

Ikhtisar:
Prestasi ialah aspek yang sangat penting semasa mereka bentuk dan membangunkan perkhidmatan web. Untuk meningkatkan prestasi aplikasi web, kami boleh menggunakan pelayan proksi Nginx untuk melaksanakan caching dan pramuat. Artikel ini akan memperkenalkan cara menggunakan pelayan proksi Nginx untuk melaksanakan caching dan pramuat perkhidmatan web, dan menyediakan contoh kod yang sepadan.

Mekanisme caching Nginx:
Nginx ialah pelayan proksi HTTP dan terbalik yang berprestasi tinggi boleh meningkatkan kelajuan tindak balas aplikasi web dengan sangat baik. Mekanisme caching Nginx adalah berdasarkan konfigurasi pelayan proksi yang ditentukan Ia boleh cache fail statik dan kandungan dinamik, dan mengawal tempoh sah cache dan mekanisme mengikut keadaan yang berbeza.

  1. Konfigurasikan pelayan proksi Nginx:
    Pertama, anda perlu mengkonfigurasi pelayan proksi Nginx untuk mendayakan fungsi cache. Dalam fail konfigurasi Nginx, cari bahagian konfigurasi pelayan proksi yang sepadan dan tambahkan item konfigurasi berikut:
location / {
    proxy_pass http://backend; # 将请求代理到后端服务器
    proxy_cache my_cache; # 启用缓存
    proxy_cache_valid 200 302 10m; # 缓存200和302状态码的响应10分钟
    proxy_cache_valid any 1m; # 缓存其他状态码的响应1分钟
    proxy_cache_bypass $http_cache_control; # 根据请求的Cache-Control头来决定是否绕过缓存
}
Salin selepas log masuk
  1. Konfigurasikan tempoh sah cache:
    Dalam perkara di atas item konfigurasi , proxy_cache_valid menentukan tempoh sah cache. Untuk respons dengan kod status 200 dan 302, tempoh sah cache ditetapkan kepada 10 minit untuk respons dengan kod status lain, tempoh sah cache lalai ialah 1 minit; Boleh disesuaikan dan dikembangkan berdasarkan keperluan khusus. proxy_cache_valid指定了缓存的有效期。对于200和302状态码的响应,缓存有效期设置为10分钟;对于其他状态码的响应,默认缓存有效期为1分钟。可以根据具体需求进行调整和扩展。
  2. 配置请求的缓存绕行条件:
    其中的proxy_cache_bypass配置项用于根据请求的Cache-Control头来决定是否绕过缓存。如果请求中携带了Cache-Control: no-cache头,那么将绕过缓存,直接请求后端服务器。

Nginx预加载机制:
除了缓存机制,Nginx还提供了预加载机制,可以在后台定期预加载缓存。通过预加载,Nginx可以提前将一些常用的资源加载到缓存中,以提高响应速度。

  1. 配置预加载任务:
    可以使用Nginx提供的ngx_http_proxy_module模块和ngx_http_upstream_module
  2. Konfigurasikan keadaan pintasan cache permintaan:
Item konfigurasi proxy_cache_bypass digunakan untuk memutuskan sama ada untuk memintas cache berdasarkan pengepala Cache-Control bagi permintaan. Jika permintaan itu membawa pengepala Cache-Control: no-cache, cache akan dipintas dan pelayan bahagian belakang akan diminta terus.

  1. Mekanisme pramuat Nginx:
  2. Selain mekanisme caching, Nginx juga menyediakan mekanisme pramuat yang boleh pramuat cache secara kerap di latar belakang. Melalui pramuat, Nginx boleh memuatkan beberapa sumber yang biasa digunakan ke dalam cache terlebih dahulu untuk meningkatkan kelajuan tindak balas.

Mengkonfigurasi tugas pramuat:

Anda boleh menggunakan modul ngx_http_proxy_module dan modul ngx_http_upstream_module yang disediakan oleh Nginx untuk mengkonfigurasi pramuat tugasan. Dalam fail konfigurasi Nginx, anda boleh menambah item konfigurasi berikut:

location /preload {
    proxy_pass http://backend; # 预加载任务代理到后端服务器
    proxy_cache my_cache; # 启用缓存
    proxy_cache_purge off; # 禁止清除缓存
}
Salin selepas log masuk


Lakukan tugas pramuat:

Anda boleh menggunakan alatan seperti Cron untuk melaksanakan pramuat secara berkala Muatkan tugas. Sebagai contoh, arahan berikut boleh digunakan untuk melaksanakan tugas pramuat: #🎜🎜##🎜🎜#
curl -XGET http://nginx_server/preload
Salin selepas log masuk
#🎜🎜#Arahan di atas akan mencetuskan Nginx untuk menghantar permintaan pramuat ke pelayan bahagian belakang untuk menyimpan sumber pramuat dalam cache. #🎜🎜##🎜🎜#Ringkasan: #🎜🎜# Dengan mengkonfigurasi mekanisme caching dan pramuat pelayan proksi Nginx, kami boleh meningkatkan prestasi dan kelajuan tindak balas aplikasi web dengan sangat baik. Mekanisme caching boleh mengurangkan bilangan permintaan ke pelayan bahagian belakang, manakala mekanisme pramuat boleh kerap pramuat cache di latar belakang untuk menyediakan sumber lebih awal dan mempercepatkan respons. Menggunakan pelayan proksi Nginx untuk melaksanakan caching dan pramuat bukan sahaja mudah dan cekap, tetapi juga boleh meningkatkan pengalaman pengguna dan prestasi aplikasi web dengan berkesan. #🎜🎜##🎜🎜#Contoh kod: #🎜🎜#Contoh fail konfigurasi Nginx: #🎜🎜#
http {
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:30m max_size=10g;
    server {
        listen 80;
        server_name my_server;
        
        location / {
            proxy_pass http://backend;
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid any 1m;
            proxy_cache_bypass $http_cache_control;
        }
        
        location /preload {
            proxy_pass http://backend;
            proxy_cache my_cache;
            proxy_cache_purge off;
        }
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menggunakan pelayan proksi Nginx untuk melaksanakan caching dan pramuat perkhidmatan web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!