Cara melaksanakan konfigurasi cache proksi terbalik Nginx
Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik yang boleh Konfigurasikan proksi terbalik caching untuk meningkatkan prestasi laman web dan pengalaman pengguna. Artikel ini akan memperkenalkan secara terperinci cara mengkonfigurasi cache proksi terbalik Nginx dan memberikan contoh kod khusus.
Pertama sekali, anda perlu mendayakan fungsi caching dalam fail konfigurasi Nginx. Buka fail konfigurasi Nginx (biasanya terletak di /etc/nginx/nginx.conf), cari blok http, dan tambah kod berikut:
http { ... proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; ... }
Dalam kod di atas, /path/ to/cache< /code> ialah laluan di mana fail cache Nginx disimpan Dalam penggunaan sebenar, ia perlu diubah suai mengikut situasi sebenar pelayan. <code>keys_zone=my_cache:10m
adalah untuk menetapkan nama dan ruang yang tersedia bagi kawasan cache, yang boleh diubah suai mengikut keperluan sebenar. max_size=10g
ialah kapasiti maksimum fail cache, yang boleh dilaraskan mengikut ruang cakera pelayan. inactive=60m
adalah untuk menetapkan masa tamat tempoh fail cache Selepas masa ini, ia akan dipadamkan. use_temp_path=off
adalah untuk melumpuhkan laluan storan fail sementara. /path/to/cache
是Nginx缓存文件保存的路径,在实际使用时需要根据服务器的实际情况进行修改。keys_zone=my_cache:10m
是设置缓存区的名称和可用空间大小,可以根据实际需求进行修改。max_size=10g
是设置缓存文件的最大容量,可以根据服务器的磁盘空间进行调整。inactive=60m
是设置缓存文件的过期时间,超过该时间将被删除。use_temp_path=off
是禁用临时文件存储路径。
接下来,需要在Nginx的配置文件中配置反向代理和缓存的具体规则。在server块中添加以下代码:
server { ... location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_cache my_cache; proxy_cache_valid 200 301 302 404 1h; proxy_cache_use_stale updating; proxy_cache_background_update on; } ... }
上述代码中,proxy_pass http://backend
将请求转发给后端服务器。proxy_set_header Host $host
用于传递请求的域名或IP地址。proxy_cache my_cache
指定使用的缓存区名称。proxy_cache_valid 200 301 302 404 1h
设置缓存的有效期,200、301、302和404是对应的HTTP状态码,1h表示一小时。proxy_cache_use_stale updating
配置更新缓存时使用过期数据。proxy_cache_background_update on
启用后台更新缓存。
如果需要对特定的URL进行缓存或不缓存,可以添加更多的配置规则。以下是一些常用的示例代码:
location /static { proxy_pass http://backend; proxy_set_header Host $host; proxy_cache my_cache; proxy_cache_valid 200 301 302 404 7d; proxy_cache_use_stale updating; proxy_cache_background_update on; } location /no-cache { proxy_pass http://backend; proxy_set_header Host $host; proxy_cache off; }
上述代码中,/static
表示需要缓存的URL路径,7d
表示缓存有效期为7天。/no-cache
表示不需要缓存的URL路径,proxy_cache off
禁用缓存。
完成以上配置后,需要重新启动Nginx服务器,使配置生效。在命令行中执行以下命令:
sudo service nginx restart
可以使用浏览器访问网站,并在响应头中查看是否存在缓存相关的字段。可以通过在开发者工具中查看Network tab或使用curl命令进行验证。
curl -I http://your-website.com
在响应头中,可以查看Cache-Control
、Last-Modified
、X-Cache
和X-Cache-Status
Seterusnya, anda perlu mengkonfigurasi proksi dan cache terbalik dalam fail konfigurasi Nginx khusus peraturan. Tambahkan kod berikut dalam blok pelayan:
rrreee#🎜🎜#Dalam kod di atas,proxy_pass http://backend
memajukan permintaan ke pelayan backend. proxy_set_header Host $host
digunakan untuk menghantar nama domain atau alamat IP yang diminta. proxy_cache my_cache
menentukan nama kawasan cache yang digunakan. proxy_cache_valid 200 301 302 404 1j
Tetapkan tempoh sah cache 200, 301, 302 dan 404 ialah kod status HTTP yang sepadan. proxy_cache_use_stale mengemas kini
Konfigurasikan penggunaan data yang telah tamat tempoh semasa mengemas kini cache. proxy_cache_background_update on
Mendayakan cache kemas kini latar belakang. #🎜🎜#/static
menunjukkan laluan URL yang perlu dicache dan 7d
menunjukkan bahawa tempoh sah cache ialah 7 langit. /no-cache
menunjukkan laluan URL yang tidak perlu dicache proxy_cache off
melumpuhkan cache. #🎜🎜#Cache-Control
, Last-Modified
, X-Cache
dan X-Cache-Status dan medan lain untuk mengesahkan sama ada konfigurasi cache proksi terbalik berkesan. #🎜🎜##🎜🎜#Ringkasan#🎜🎜##🎜🎜#Artikel ini memperkenalkan cara untuk melaksanakan konfigurasi cache proksi terbalik Nginx. Dengan mengkonfigurasi fungsi caching Nginx, prestasi dan pengalaman pengguna tapak web boleh dipertingkatkan dengan ketara. Perlu diingatkan bahawa peraturan konfigurasi khusus perlu diselaraskan mengikut situasi sebenar pelayan untuk memastikan kebolehgunaan dan kestabilan konfigurasi cache. #🎜🎜#Atas ialah kandungan terperinci Bagaimana untuk melaksanakan konfigurasi cache proksi terbalik Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!