Rumah >pembangunan bahagian belakang >tutorial php >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.
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头来决定是否绕过缓存 }
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分钟。可以根据具体需求进行调整和扩展。proxy_cache_bypass
配置项用于根据请求的Cache-Control头来决定是否绕过缓存。如果请求中携带了Cache-Control: no-cache
头,那么将绕过缓存,直接请求后端服务器。Nginx预加载机制:
除了缓存机制,Nginx还提供了预加载机制,可以在后台定期预加载缓存。通过预加载,Nginx可以提前将一些常用的资源加载到缓存中,以提高响应速度。
ngx_http_proxy_module
模块和ngx_http_upstream_module
Cache-Control: no-cache
, cache akan dipintas dan pelayan bahagian belakang akan diminta terus. 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; # 禁止清除缓存 }
Lakukan tugas pramuat:
curl -XGET http://nginx_server/preload#🎜🎜#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; } } }
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!