Bagaimana untuk melaksanakan konfigurasi cache proksi terbalik Nginx

王林
Lepaskan: 2023-11-08 11:48:20
asal
835 orang telah melayarinya

Bagaimana untuk melaksanakan konfigurasi cache proksi terbalik Nginx

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.

  1. Dayakan fungsi caching Nginx

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;
    ...
}
Salin selepas log masuk

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是禁用临时文件存储路径。

  1. 配置Nginx反向代理缓存

接下来,需要在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;
    }
    ...
}
Salin selepas log masuk

上述代码中,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启用后台更新缓存。

  1. 配置Nginx缓存的附加规则

如果需要对特定的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;
}
Salin selepas log masuk

上述代码中,/static表示需要缓存的URL路径,7d表示缓存有效期为7天。/no-cache表示不需要缓存的URL路径,proxy_cache off禁用缓存。

  1. 重启Nginx服务器

完成以上配置后,需要重新启动Nginx服务器,使配置生效。在命令行中执行以下命令:

sudo service nginx restart
Salin selepas log masuk
  1. 验证缓存配置

可以使用浏览器访问网站,并在响应头中查看是否存在缓存相关的字段。可以通过在开发者工具中查看Network tab或使用curl命令进行验证。

curl -I http://your-website.com
Salin selepas log masuk

在响应头中,可以查看Cache-ControlLast-ModifiedX-CacheX-Cache-Status

    Konfigurasi cache proksi terbalik Nginx

    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 1jTetapkan tempoh sah cache 200, 301, 302 dan 404 ialah kod status HTTP yang sepadan. proxy_cache_use_stale mengemas kiniKonfigurasikan penggunaan data yang telah tamat tempoh semasa mengemas kini cache. proxy_cache_background_update onMendayakan cache kemas kini latar belakang. #🎜🎜#
      #🎜🎜#Mengkonfigurasi peraturan tambahan untuk cache Nginx #🎜🎜##🎜🎜##🎜🎜#Anda boleh menambah lagi jika anda memerlukan URL khusus untuk dicache atau tidak dicache peraturan konfigurasi. Berikut ialah beberapa kod sampel yang biasa digunakan: #🎜🎜#rrreee#🎜🎜#Dalam kod di atas, /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. #🎜🎜#
        #🎜🎜#Mulakan semula pelayan Nginx#🎜🎜##🎜🎜##🎜🎜#Selepas melengkapkan konfigurasi di atas, anda perlu memulakan semula pelayan Nginx untuk konfigurasi diambil kesan. Jalankan arahan berikut dalam baris arahan: #🎜🎜#rrreee
          #🎜🎜#Sahkan konfigurasi cache#🎜🎜##🎜🎜##🎜🎜#Anda boleh menggunakan penyemak imbas untuk mengakses tapak web , dan dalam respons Semak sama ada terdapat medan berkaitan cache dalam pengepala. Ini boleh disahkan dengan melihat tab Rangkaian dalam alat pembangun atau menggunakan arahan curl. #🎜🎜#rrreee#🎜🎜#Dalam pengepala respons, anda boleh melihat 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!

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!