Konfigurasi cache proksi terbalik Nginx untuk meningkatkan kelajuan akses laman web
Pengenalan:
Dalam era Internet, kelajuan akses laman web adalah penting. Tapak web yang dimuatkan dengan perlahan menjadikan pengguna tidak sabar dan boleh menyebabkan pengguna berpusing. Untuk meningkatkan kelajuan capaian laman web, cara biasa adalah mengurangkan beban pada pelayan dan mempercepatkan pemuatan halaman dengan menggunakan cache proksi terbalik. Artikel ini akan memperkenalkan cara menggunakan Nginx untuk mengkonfigurasi cache proksi terbalik untuk meningkatkan kelajuan akses laman web.
1. Apakah cache proksi terbalik Nginx?
Nginx ialah pelayan proksi terbalik HTTP ringan yang boleh memajukan permintaan pelanggan ke pelayan aplikasi bahagian belakang dan menyimpan hasil yang dikembalikan. Apabila permintaan yang sama tiba pada masa akan datang, Nginx boleh terus mengembalikan hasil dalam cache tanpa meminta pelayan aplikasi sekali lagi, sekali gus mempercepatkan pemuatan halaman.
2. Langkah konfigurasi untuk cache proksi terbalik Nginx:
Konfigurasikan Nginx
Buka fail konfigurasi Nginx dan tambahkan segmen kod berikut dalam blok pelayan:
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
Arahan path/to/cache
ialah laluan storan cache, my_cache
ialah nama kawasan cache, 10m
menentukan saiz kawasan cache, 10g
bermaksud kapasiti maksimum keseluruhan cache ialah 10GB dan inactive=60m
bermakna kandungan cache akan tamat tempoh jika ia tidak diakses dalam masa 60 minit. proxy_cache_path
指令用于配置缓存的路径和容量。path/to/cache
是缓存的存储路径,my_cache
是缓存区的名称,10m
指定了缓存区的大小,10g
表示整个缓存的最大容量为10GB,inactive=60m
表示缓存的内容在60分钟内没有被访问就过期。
在location块中添加如下代码段:
proxy_cache my_cache; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m;
这里的proxy_cache
指令用于启用缓存功能,proxy_cache_valid
指令用于设置缓存的有效时间。上面的示例中,对于HTTP状态码为200和302的响应,缓存有效时间为10分钟;对于HTTP状态码为404的响应,缓存有效时间为1分钟。
配置缓存规则
除了配置缓存路径和缓存有效时间,我们还可以设置一些缓存规则,以决定哪些请求需要被缓存。在location块中添加如下代码段:
proxy_cache_key $host$uri$is_args$args; proxy_cache_bypass $http_cache_control; proxy_no_cache $http_pragma $http_authorization;
上面的示例中,proxy_cache_key
用于设置缓存的key,这里使用了请求的host、uri和参数作为key。proxy_cache_bypass
用于绕过缓存,这里通过检查HTTP请求头中的Cache-Control
字段实现了此功能。proxy_no_cache
用于设置完全禁用缓存的条件,这里通过检查HTTP请求头中的Pragma
和Authorization
sudo service nginx restart
proxy_cache
di sini digunakan untuk mendayakan fungsi cache dan arahan proxy_cache_valid
digunakan untuk tetapkan masa sah cache. Dalam contoh di atas, untuk respons dengan kod status HTTP 200 dan 302, masa sah cache ialah 10 minit untuk respons dengan kod status HTTP 404, masa sah cache ialah 1 minit; Selain mengkonfigurasi laluan cache dan masa sah cache, kami juga boleh menetapkan beberapa peraturan caching untuk menentukan permintaan yang perlu dicache. Tambahkan segmen kod berikut dalam blok lokasi:
rrreee
proxy_cache_key
digunakan untuk menetapkan kunci cache Di sini, hos, uri dan parameter yang diminta digunakan sebagai kunci. proxy_cache_bypass
digunakan untuk memintas cache Fungsi ini dilaksanakan dengan menyemak medan Cache-Control
dalam pengepala permintaan HTTP. proxy_no_cache
digunakan untuk menetapkan syarat untuk melumpuhkan cache sepenuhnya Fungsi ini dilaksanakan di sini dengan menyemak medan Pragma
dan Authorization
dalam pengepala permintaan HTTP. .
Mulakan semula Nginx
rrreee
Kesimpulan:
Fungsi caching proksi terbalik Nginx boleh mempercepatkan akses tapak web dengan berkesan. Dengan mengkonfigurasi cache proksi terbalik Nginx, kami boleh mengurangkan beban permintaan pada pelayan bahagian belakang dan meningkatkan pengalaman akses pengguna. Walau bagaimanapun, adalah penting untuk mengkonfigurasi peraturan caching dengan betul untuk memastikan masa nyata dan konsistensi kandungan cache. 🎜🎜Rujukan: 🎜🎜🎜Dokumentasi Nginx (https://nginx.org/en/docs/)🎜🎜Menala Nginx untuk Prestasi (https://www.nginx.com/blog/tuning-nginx/) 🎜 🎜🎜Melalui langkah di atas, anda boleh menggunakan konfigurasi cache proksi terbalik Nginx untuk meningkatkan kelajuan akses tapak web. Semoga ia membantu. 🎜Atas ialah kandungan terperinci Konfigurasi cache proksi terbalik Nginx untuk meningkatkan kelajuan akses laman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!