English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

أسباب مشكلة عدم التخزين المؤقت في nginx وحلولها

nginx.conf جزء من المحتويات:

  proxy_temp_path  /nginx/cache/temp;
  proxy_cache_path /nginx/cache/path levels=1:2 keys_zone=cache_test:2048m inactive=7d max_size=10g;
......
 location ~ .(gif|jpg|jpeg|png)$ {
    proxy_pass http://upstreams;
    proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
    proxy_cache cache_test;
    #تعيين مفتاح التخزين
    #تعيين مفتاح التخزين
    #يُسمح بتخزين الاستجابات ذات الرقم الرباعي 200 و 304 لمدة يوم واحد
    proxy_cache_valid 200 304 1d;
    expires 30d;
  }

أسباب عدم تخزين nginx

بشكل افتراضي، ما إذا كان يمكن لتخزين nginx أو خادم الويب المصدر أن يقرر، يجب على خادم التخزين المؤقت أن يلتزم بالعناوين التي يستجيب بها خادم الويب المصدر لتحديد ما إذا كان يمكن التخزين المؤقت وكيفية فترة التخزين المؤقت.

العناوين الرئيسية مثل:

Cache-control: no-cache、no-store

إذا كان لديك هذين القيمين، لن يتم تخزين أي شيء من قبل خادم التخزين المؤقت لـ nginx

Expires: 1980-01-01

إذا كان التاريخ أقدم من الوقت الحالي، لن يتم التخزين المؤقت.

حلل خطة عدم التخزين المؤقت

الطريقة الأولى 2.1

تعديل برنامج أو برنامج الويب على الخادم المصدر لتجيب على العناوين

الطريقة الثانية 2.2

أضف جملة كما يلي مباشرة إلى واجهة التخزين المؤقت لـ nginx:

proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;

ملخص

هذا هو كل محتوى هذه المقالة، آمل أن تساعدكم هذه المقالة في التعلم أو العمل، إذا كان لديكم أي أسئلة، يمكنكم ترك تعليق.

أنت قد تحب