কীভাবে এনগিনেক্সের ক্যাশে সাফ করবেন?


250

আমি ফ্রন্ট সার্ভার হিসাবে এনগিনেক্স ব্যবহার করি, আমি সিএসএস ফাইলগুলি সংশোধন করেছি, তবে এনগিনেক্স এখনও পুরানো ফাইলগুলি পরিবেশন করছে।

আমি এনগিনেক্স পুনরায় চালু করার চেষ্টা করেছি, কোনও সাফল্য নেই এবং আমি গুগল করেছি, তবে এটি সাফ করার কোনও কার্যকর উপায় খুঁজে পাইনি।

কিছু নিবন্ধ বলেছে যে আমরা কেবল ক্যাশে ডিরেক্টরিটি মুছতে পারি: var/cache/nginxতবে আমার সার্ভারে এ জাতীয় ডিরেক্টরি নেই।

আমার এখন কি করা উচিত?


1
আপনার এনগিনেক্স কনফিগারেশন সম্পর্কে আরও বিশদ সাহায্য করবে। আপনি ব্যবহার করছেন proxy_cache?
আলেকজান্ডার আজারভ

না, আমি কেবলমাত্র ডিফল্ট কনফিগারেশন ব্যবহার করেছি এবং আমি স্ট্রিং সম্পর্কে অনুসন্ধান cacheকরেছি, এটি কনফিগার ফাইলগুলিতে খুঁজে পাইনি
ফ্রিউইন্ড

5
Nginx ডিফল্টরূপে ক্যাশে করে না।
আলেকজান্ডার আজারভ

30
আপনি কি ভার্চুয়ালবক্স / ভার্জেন্ট ভিএম চালাচ্ছেন? যদি তা হয় তবে সেন্ডফিল বন্ধ করার চেষ্টা করুন, কারণ তারা একসাথে ভাল না খেলে।
কলবিজ্যাক

5
আপনি কি নিশ্চিত যে ক্যাচিংটি এনজিনেক্সের পাশে রয়েছে, তবে? আপনি কি কার্লের মতো কোনও সরঞ্জাম দিয়ে আচরণটি যাচাই করেছেন? প্রায়শই, এর মতো সমস্যাটি কেবল ক্লায়েন্ট-সাইড ক্যাচিং কোনও আপডেট হওয়া সংস্থার জন্য অনুরোধ করে না কারণ এটি বলা হয়ে থাকে যে সর্বাধিক মেয়াদ শেষ হওয়ার সাথে সাথে পুরানো সংস্থানটি দীর্ঘ সময়ের জন্য বৈধ হবে; বা অনুরূপ কিছু।
কলবিজ্যাক

উত্তর:


185

আমার ঠিক একই সমস্যা ছিল - আমি ভার্চুয়ালবক্সে আমার এনগিনেক্স চালাচ্ছিলাম। আমার ক্যাশে চালু হয়নি। তবে দেখে মনে হচ্ছে sendfileএটি সেট হয়ে onগেছে nginx.confএবং এটি সমস্যার কারণ হয়ে দাঁড়িয়েছে। @ কলবিজ্যাক মন্তব্যগুলিতে উপরে এটি উল্লেখ করেছেন।

আমি যখন অফ করেছি sendfile- এটি দুর্দান্ত কাজ করেছে।

এই কারণ:

সেন্ডফাইলটি 'একটি ফাইলের বর্ণনাকারী এবং অন্য একটির মধ্যে ডেটা অনুলিপি করতে' ব্যবহৃত হয় এবং ভার্চুয়াল মেশিনের পরিবেশে চালিত হওয়ার সময়, বা কমপক্ষে ভার্চুয়ালবক্সের মাধ্যমে চালানোর সময় কিছুটা বাস্তব সমস্যা দেখা দেয়। এই কনফিগারেশনটিকে এনজিনএক্সে বন্ধ করার ফলে স্থির ফাইলটিকে ভিন্ন পদ্ধতির মাধ্যমে পরিবেশন করা হবে এবং আপনার পরিবর্তনগুলি অবিলম্বে এবং প্রশ্ন ছাড়াই প্রতিফলিত হবে

এটি এই বাগের সাথে সম্পর্কিত: https://www.virtualbox.org/ticket/12597



আমার ক্ষেত্রে, বিকল্প কাজটি হ'ল এই ফাইল ধরণের জন্য জিজিপ চালু করা। যেভাবেই সমস্যার সমাধান হয়।
ডিঙল

আপনাকে ধন্যবাদ এবং উত্তরের জন্য কলবিজ্যাক। আমার জীবন সংরক্ষিত.
T1000

1
আমি 'sudo vim /etc/nginx/nginx.conf' অনুসরণ করে 'সেন্ডফিল চালু' করতে 'সেন্ডফিল অফ' করতে ব্যবহার করেছি
Korey Güclü

12
আমি সেন্ডফিল বন্ধ করে দিয়েছি। ভাগ্য নেই.
মারুকোবোটো

109

আপনি ফাইলের ভিত্তিতে ফাইলের সাহায্যে বাইপাস / পুনরায় ক্যাশে করতে পারেন

proxy_cache_bypass $http_secret_header;

এবং বোনাস হিসাবে আপনি এই শিরোনামটি ক্যাশে থেকে পেয়েছেন কিনা তা দেখতে (ফিরে আসবে 'এইচআইটি') বা সামগ্রী সার্ভার থেকে ('বাইপাস' ফিরে আসবে) তা দেখতে পারেন can

add_header X-Cache-Status $upstream_cache_status;

ক্যাশেড ফাইলটির মেয়াদ শেষ / রিফ্রেশ করতে, ক্যাশেড পৃষ্ঠায় অনুরোধ করার জন্য কার্ল বা অন্য কোনও ক্লায়েন্ট ব্যবহার করুন।

curl http://abcdomain.com/mypage.html -s -I -H "secret-header:true"

এটি আইটেমটির একটি নতুন কপি ফিরিয়ে দেবে এবং এটি ক্যাশে কী রয়েছে তা প্রতিস্থাপন করবে।


7
আমি কেন কেবল এই একবারে উপভোগ করতে পারি? আমি একটি gazillion :) কাজ করতে চান
Spock

2
এটি কেবল ক্যাশেড পৃষ্ঠাগুলি আপডেট করতে পারে যখন নতুন পৃষ্ঠাটিও ক্যাশেযোগ্য হয়। যদি আপনি কোনও পৃষ্ঠা সরিয়ে ফেলে থাকেন (404 বা অন্যান্য ত্রুটিগুলি এখন ব্যাকএন্ড দ্বারা পরিবেশন করা হয়), পৃষ্ঠাটি এখন একটি সেট-কুকি বা "সামগ্রী-নিয়ন্ত্রণ: ব্যক্তিগত" শিরোনাম প্রেরণ করে, ক্যাশেড সামগ্রীটি "অবৈধ" হবে না।
rbu

3
এই "অ্যাড_হেডার এক্স-ক্যাশে-স্ট্যাটাস-আপস্ট্রিম_ক্যাচে_স্ট্যাটাস;" এই যেমন একটি দুর্দান্ত বৈশিষ্ট্য!
ম্যাক্সিম ম্যাসিউটিন

1
অনেক ধন্যবাদ. ক্যাশে
অবৈধকরণের

4
আপনি পোস্ট করার পরে এটি কি পরিবর্তন হয়েছে? আমি "সিক্রেট-শিরোলেখ" দিয়ে সাফল্যের সাথে একটি নতুন কপি পেতে পারি তবে আমি
শিরোনামটি

60

আপনি প্রক্সি_ ক্যাশে_পাথের মাধ্যমে ক্যাশে অঞ্চলটি কনফিগার না করে এবং পরে এটি ব্যবহার করেন (উদাহরণস্বরূপ কোনও অবস্থানের ব্লকে), এর মাধ্যমে: প্রক্সি_ক্যাচে কিছুই ক্যাশে হবে না।

তবে আপনি যদি তা করেন তবে এনজিনেক্সের লেখকের মতে , ক্যাশে ডিরেক্টরি থেকে সমস্ত ফাইল সরিয়ে ফেলা যথেষ্ট।

সহজ উপায়: find /path/to/your/cache -type f -delete


আমি ফাইলগুলি মুছে ফেলার পরে আমার ত্রুটি লগতে পেয়ে যাচ্ছি:[crit] 1640#0: unlink() "/path/to/cache/85/1cc5328db278b328f2c200c65179ad85" failed (2: No such file or directory)
কলিন অ্যান্ডারসন

বারবার, নাকি মাত্র একবার? এটি আসল সমস্যা হওয়া উচিত নয়। সম্ভবত এটির অর্থ হ'ল ক্যাশে পরিচালক আপনি যে ফাইলটি ইতিমধ্যে মুছে ফেলেছেন তা মুছে ফেলার চেষ্টা করেছিল। আপনি বার বার বার বার পেলে এনজিনেক্স (এনগিনেক্স-এস রিলোড) পুনরায় লোড করতে সহায়তা করতে পারে। (এটি ক্যাশে ম্যানেজারকেও
পুনরায় পুনরুদ্ধার করে

1
হ্যাঁ, আমি যখনই কোনও পরিবর্তন নিযুক্ত করি তখনই আমি আমার ওয়েবসাইটের জন্য স্ক্রিপ্ট দ্বারা স্বয়ংক্রিয়ভাবে ক্যাশে সাফ করি, এবং এনজিনেক্স পুনরায় লোড করাও এটি ঠিক করে না।
কলিন অ্যান্ডারসন 21

আপনি প্রক্সি স্টাফ ব্যবহার না করলেও নপ এনগিনেক্স কিছু ক্যাশে করে তবে এটি এনগিনেক্স + ভার্চুয়ালবক্সের সাথে একটি বাগ।
টমাস ডিকোক্স

1
এটি বরং অস্পষ্ট মনে হচ্ছে। আপনি কি এই বিস্তারিত বলতে পারেন? এটি এখানে বিষয়টির সাথে সম্পর্কিত বলে মনে হচ্ছে না।
Gnarfoz

20

আপনি nginx এর ক্যাশে ডিরেক্টরি মুছতে পারেন বা আপনি নির্দিষ্ট ফাইলটি সন্ধান করতে পারেন:

grep -lr 'http://mydomain.pl/css/myedited.css' /var/nginx/cache/*

এবং nginx এগুলি রিফ্রেশ করতে কেবল একটি ফাইল মুছুন।


1
সঠিক হিট পেতে, আপনি সংযুক্ত করতে পারবেন $ অনুসন্ধান শব্দ হয়। লাইকgrep -lr 'http://mydomain.pl/css/myedited.css$' /var/nginx/cache/*
জিফেং ঝাং

1
দুর্ভাগ্যক্রমে আমি নিম্নলিখিত আউটপুট grep: /var/nginx/cache/*: No such file or directoryপেয়েছি আমি উবুন্টু 14.04.3 এলটিএস এবং এনজিএনএক্স / 1.8.1 ব্যবহার করছি। কোন ধারণা?
b00r00x0

/ Var / nginx / cache এর অধীনে ফাইলগুলি sudo find /var/nginx/cache -type f -exec grep -l '/css/myedited.css' {} \;
গ্রেপ

আমি বিশ্বাস করি এটি / var / cache / nginx / * (পথে Nginx এর আগে dir ক্যাশে)
র্যান্ডি ল্যাম

15

এই প্রশ্নের দুটি উত্তর আছে।

  • বিপরীত ক্যাশে হিসাবে nginx এক
  • হেডার ইনপুট দ্বারা ব্রাউজার ক্যাশে পরিষ্কার করার জন্য আরেকটি (এটি)

ব্যবহার করুন:

expires modified +90d;

উদাহরণ:

location ~* ^.+\.(css|js|jpg|gif|png|txt|ico|swf|xml)$ {
    access_log off;
    root /path/to/htdocs;
    expires modified +90d;
}

আমি এই বাস্তবায়নটি চেষ্টা করেছি কারণ আমার একই সমস্যা রয়েছে। তবে, আমি পরিবর্তনটি করার পরে - এটি ডিফল্ট Nginx পৃষ্ঠাটি দেখায়। আমি প্রক্সি সহ নিগিনক্সকে এলবি হিসাবে ব্যবহার করছি, আমার কি সম্ভবত রুট পরিবর্তন করা দরকার?
হারুন

10

আমি এটি দরকারী খুঁজে পেয়েছি

grep -lr 'jquery.js' /path/to/nginx/cache/folder/* | xargs rm

অনুসন্ধান করুন এবং যদি পাওয়া যায় তবে মুছুন।


9

আমার এনজিঙ্ক্স ইনস্টলটিতে আমি দেখতে পেলাম যে আমাকে যেতে হয়েছিল:

/opt/nginx/cache

এবং

sudo rm -rf *

যে ডিরেক্টরিতে। আপনি যদি আপনার এনজিএনএক্স ইনস্টল করার পথটি জানেন এবং ক্যাশে ডিরেক্টরিটি খুঁজে পেতে পারেন তবে এটি আপনার জন্য কাজ করতে পারে। হতে খুব সতর্কতা অবলম্বন সঙ্গে rm -rfকমান্ড, যদি আপনি ভুল ডিরেক্টরির মধ্যে আপনি আপনার সমগ্র হার্ড ড্রাইভ মুছতে পারবে।


2
এর পরে আপনাকে এনজিআইএনএক্স পুনরায় চালু করতে হবে
এলিল

এবং এটি খারাপ অংশ
কিডজ

9

আমি একটি খুব সাধারণ বাশ স্ক্রিপ্ট চালাচ্ছি যা কাজটি করতে 10 সেকেন্ডের মধ্যে লাগে এবং হয়ে গেলে আমাকে একটি মেল পাঠায়।

#!/bin/bash
sudo service nginx stop
sudo rm -rf /var/cache/nginx/*
sudo service nginx start | mail -s "Nginx Purged" me@gmail.com
exit 0

8

আমারও এই সমস্যা ছিল

  • কোনও এনগিনেক্স / ক্যাশে ফোল্ডার খুঁজে পাওয়া যায়নি
  • প্রেরণ ফাইল বন্ধ ছিল

আমার ডোমেনটি ডিএনএসের জন্য ক্লাউডফ্লেয়ার.কম ব্যবহার করে (দুর্দান্ত পরিষেবা!) আহা! এটি ছিল:

cloudflare.com -> ক্যাশে করা -> ক্যাশে শুদ্ধ করুন (আমি সমস্ত কিছু পরিষ্কার করেছি) যা আমার সমস্যার সমাধান করেছে!


2
এটি ক্লাউডফ্লেয়ারের প্রান্তের ক্যাশেগুলি পরিষ্কার করে। এটি আপনার নিজের সার্ভারে Nginx ক্যাশে সাফ করে না।
মাহেমফ

একটি পরামর্শ হিসাবে, আমি মনে করি এটি একটি বৈধ উত্তর।
ফার্নান্দো কোশ

এটি দুর্দান্ত উত্তর ছিল। আমি কয়েক ঘন্টা খনন করছিলাম কেন কিছু ফাইল এখনও ক্যাশে হচ্ছে এবং অনুমান করতে পারছিলাম না এটি ক্লাউডফ্লেয়ার 'দোষ'। ধন্যবাদ!
অপরাজিত

6

আমাদের মাঝে একটি খুব বড় এনগিনেক্স ক্যাশে (গিগাবাইট) রয়েছে যা আমাদের মাঝে মাঝে মুছতে হবে। আমি একটি স্ক্রিপ্ট তৈরি করেছি যা তাত্ক্ষণিকভাবে ক্যাশে সাফ করে দেয় (যতক্ষণ না এনগিনেক্স সম্পর্কিত) ততক্ষণে ডিস্ক আই / ও-এর মূল অ্যাপ্লিকেশন না খেয়ে ক্যাশে ডিরেক্টরিটি সরিয়ে ফেলে।

সংক্ষেপে:

  1. নতুন স্থানে ক্যাশে ফোল্ডারটি সরান (একই ফাইল সিস্টেমে!) (এটি কোনও উন্মুক্ত ফাইল বিবরণকারীকে ব্যাহত করে না)
  2. খালি খালি মূল ক্যাশে ফোল্ডারটি পুনরায় তৈরি করুন
  3. এনগিনেক্স পুনরায় লোড করুন ( ক্রেফুল রিলোড, যেখানে এনগিনেক্স প্রবীণ কর্মীদের অগ্রগতির অনুরোধগুলি শেষ করতে দেয়)
  4. পুরানো ক্যাশেড ডেটা সরান

স্ক্রিপ্টটি এখানে উবুন্টু 16.04 এলটিএস অনুসারে তৈরি করা হয়েছে এবং এখানে ক্যাশে রয়েছে /mnt/nginx-cache:

#!/bin/bash
set -e

TMPCACHE=`mktemp --directory --tmpdir=/mnt nginx-cache-XXXXXXXXXX`
TMPTEMP=`mktemp --directory --tmpdir=/mnt nginx-temp-XXXXXXXXXX`

# Move the old cache folders out of the way
mv /mnt/nginx-cache $TMPCACHE
mkdir -p /mnt/nginx-cache
chmod -R 775 /mnt/nginx-cache
chown www-data:www-data /mnt/nginx-cache

mv /mnt/nginx-temp $TMPTEMP
mkdir -p /mnt/nginx-temp
chmod -R 775 /mnt/nginx-temp
chown www-data:www-data /mnt/nginx-temp

# Tell Nginx about the new folders.
service nginx reload

# Create an empty folder.
rm -rf /mnt/empty
mkdir -p /mnt/empty

# Remove the old cache and old temp folders w/o thrashing the disk...
# See http://serverfault.com/questions/546177/how-to-keep-subtree-removal-rm-rf-from-starving-other-processes-for-disk-i
# Note: the `ionice` and `nice` may not actually do much, but why not?
ionice -c 3 nice -19 rsync -a --delete /mnt/empty/ $TMPCACHE
ionice -c 3 nice -19 rsync -a --delete /mnt/empty/ $TMPTEMP
rm -rf $TMPCACHE
rm -rf $TMPTEMP

rm -rf /mnt/empty

এবং যদি এটি সহায়ক হয় তবে আমাদের ব্যবহৃত Nginx কনফিগারেশনটি এখানে রয়েছে:

upstream myapp {
    server localhost:1337 fail_timeout=0;
}

proxy_cache_path /mnt/nginx-cache/app levels=2:2:2 keys_zone=app_cache:100m inactive=1y max_size=10g;
proxy_temp_path  /mnt/nginx-temp/app;

server {
    listen   4316 default;
    server_name  myapp.com;

    location / {
        proxy_pass http://appserv;
        proxy_cache app_cache;
        proxy_cache_valid 200 1y;
        proxy_cache_valid 404 1m;
    }
}

5

যারা অন্যান্য সমাধানগুলি কাজ করে না তাদের জন্য, আপনি ক্লাউডফ্লেয়ারের মতো কোনও ডিএনএস পরিষেবা ব্যবহার করছেন কিনা তা পরীক্ষা করুন । সেক্ষেত্রে "বিকাশ মোড" সক্রিয় করুন বা "পার্জ ক্যাশে" সরঞ্জামটি ব্যবহার করুন।


5

দয়া করে নোট করুন যে আপনার অ্যাপ্লিকেশনটি যেখানে আপনি এটি ট্রিগার করেছেন সেই নির্দিষ্ট অনুরোধটির জন্য যদি ক্যাশেযোগ্য প্রতিক্রিয়া না ফেরায় তবে প্রক্সি_ক্যাচি_বাইপাস আপনাকে হতাশার একটি বিশ্ব উপহার দিতে পারে।

উদাহরণস্বরূপ যদি আপনার অ্যাপ্লিকেশনটি প্রতিটি প্রথম অনুরোধের সাথে একটি কুকি প্রেরণ করে, তবে স্ক্রিপ্ট যা কার্লের মাধ্যমে প্রক্সি_পাস_বাইপাস ট্রিগার করে সম্ভবত উত্তরে সেই কুকিটি পেয়ে যাবে এবং এনগিনেক্স ক্যাশেড আইটেমটি রিফ্রেশ করার জন্য সেই প্রতিক্রিয়াটি ব্যবহার করবে না


3
find /etc/nginx/cache_folder -type d -exec rm -rvf {} \;
mkdir /etc/nginx/cache_folder
service nginx restart

সঠিক পথটি সঠিকভাবে নির্দিষ্ট করতে সাবধান হন।


3

যারা এনগিনেক্স ক্যাশে ফাইলগুলি মুছে ফেলার চেষ্টা করেছেন এবং যা এটি কাজ করে না বা মাঝেমধ্যে কাজ করেছে তাদের জন্য ওপেন_ফাইল_ক্যাচের জন্য আপনার সেটিংটি একবার দেখুন। যদি এটি দীর্ঘ সময়ের জন্য কোনও ফাইল বর্ণনাকারীকে ক্যাশে করতে সক্ষম এবং কনফিগার করা থাকে, তবে ডিস্ক থেকে মুছে ফেলার পরেও এনগিনেক্স ক্যাশেড ফাইলটির একটি সংস্করণ দেখতে পাবে। আমাকে ওপেন_ফাইল_ক্যাচি_অডিয়ালটি 1 এস-তে হ্রাস করতে হয়েছিল (এটি নিশ্চিত না তবে এটি যদি ফাইলের ক্যাশে সম্পূর্ণরূপে অক্ষম করার মতো হয় তবে)।


2

আমার সার্ভারে, nginx ক্যাশে ফোল্ডারটি এখানে রয়েছে /data/nginx/cache/

সুতরাং আমি কেবল এটি সরিয়েছি: sudo rm -rf /data/nginx/cache/

আশা করি এটি যে কাউকে সাহায্য করবে।


2

আপনি যদি নির্দিষ্ট ফাইলগুলির ক্যাশে সাফ করতে চান তবে আপনি proxy_cache_bypassনির্দেশটি ব্যবহার করতে পারেন । এইভাবে আপনি এটি করেন

location / {
    proxy_cache_bypass $cookie_nocache $arg_nocache;
    # ...
}

এখন আপনি যদি ক্যাশেটি বাইপাস করতে চান তবে আপনি নোকেচে প্যারামিটারটি পাস করে ফাইলটি অ্যাক্সেস করতে পারেন

http://www.example.com/app.css?nocache=true


1
আমার ধারণা এটি আপনার ওয়েবসাইটে ব্যান্ডউইথকে আক্রমণ করতে এবং গ্রাস করতে ব্যবহার করা যেতে পারে।
মার্সেলো আগিমিভেল

1
app.css?nocache=trueমূল ফাইলটি (জিজ্ঞাসাবিহীন) ক্যাশে ( app.css) থাকা অবস্থায় কি এই বর্তমান অনুরোধের জন্য ) ক্যাশেটিকে কেবল বাইপাস করে না ?
অ্যাড্রিয়ানটিএনটি

1

আপনি নীচের মত nginx.conf এ কনফিগারেশন যুক্ত করতে পারেন।

...
http {
proxy_cache_path  /tmp/nginx_cache levels=1:2 keys_zone=my-test-cache:8m max_size=5000m inactive=300m;

server {
    proxy_set_header X- Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_cache my-test-cache;
    proxy_cache_valid  200 302  1m;
    proxy_cache_valid  404      60m;
    proxy_cache_use_stale   error timeout invalid_header updating;
    proxy_redirect off;

    ....
}
...
}

উপরে থেকে, ক্যাশেড সামগ্রী সংরক্ষণের জন্য "nginx_cache" নামে একটি ফোল্ডারটি গতিশীলভাবে / tmp / এ তৈরি করা হয়।


1

কেবল ক্যাশে-ফাইলগুলি সরানোর জন্য একটি সঠিক পদ্ধতি রয়েছে, যা কোনও কেইওয়াইয়ের সাথে মেলে। উদাহরণ স্বরূপ:

grep -lr 'KEY: yahoo' /var/lib/nginx/cache | xargs rm -rf

এটি সমস্ত ক্যাশে-ফাইলগুলি সরিয়ে দেয়, যা কেইইই "ইয়াহু / *" এর সাথে মেলে, যদি এনজিনএক্স.কনফ সেট করা থাকে:

proxy_cache_key $host$uri;

1

আমরা প্রচুর স্টাফ ক্যাশে করার জন্য এনজিনেক্স ব্যবহার করি। ক্যাশে ডিরেক্টরিতে হাজার হাজার আইটেম রয়েছে। আইটেমগুলি সন্ধান করতে এবং সেগুলি মুছতে, আমরা এই প্রক্রিয়াটি সহজ করার জন্য কয়েকটি স্ক্রিপ্ট তৈরি করেছি। আপনি নীচে এই স্ক্রিপ্টগুলির জন্য সংগ্রহস্থলটি সন্ধান করতে পারেন:

https://github.com/zafergurel/nginx-cache-cleaner

ধারণাটি সহজ। ক্যাশের একটি সূচি তৈরি করতে (ক্যাশে কী এবং সংশ্লিষ্ট ক্যাশে ফাইলগুলি সহ) এবং এই সূচী ফাইলের মধ্যে অনুসন্ধান করুন। এটি সত্যই আমাদের আইটেমগুলি সন্ধান করতে (মিনিট থেকে সাব-সেকেন্ডে) দ্রুতগতিতে সহায়তা করে এবং সে অনুযায়ী সেগুলি মুছতে সহায়তা করে।


1

আমার ক্ষেত্রে, touchসেই সিএসএস ফাইলটিকে এটিকে রিসোর্স পরিবর্তিত মনে হয় ( touchশেষ বারের পরিবর্তনের সময় পরিবর্তন ব্যতীত ফাইলটি আসলে কিছুই করে না), তাই ব্রাউজার এবং এনজিনেক্স সর্বশেষ সংস্থানগুলি প্রয়োগ করবে


0

আমি এক ধরণের অনুরূপ সমস্যা ভোগ করছিলাম:

সিস্টেম সেটআপ এবং সমস্যা: (ভার্চুয়ালবক্সে আমি উবুন্টু এবং এনগিনেক্স ব্যবহার করে ওয়েব হোস্টিং করছি - পিএইচপি ওয়েবপেজ রিফ্রেশগুলি বাহ্যিক CSS ফাইলের পরিবর্তনকে প্রতিফলিত করে না)। আমি উইন্ডোজ মেশিনে ওয়েবসাইট বিকাশ করছি এবং ভাগ করা ফোল্ডারটির মাধ্যমে ফাইলগুলিকে এনজিন্সে স্থানান্তর করছি। দেখে মনে হচ্ছে এনজিনেক্স সিএসএস ফাইলের পরিবর্তনগুলি গ্রহণ করে না (কোনও ফ্যাশনে রিফ্রেশ করা সাহায্য করে না c সিএসএস ফাইলের নাম পরিবর্তন করা একমাত্র কাজ যা কাজ করে)

সমাধান: ভিএম-তে ভাগ করা ফাইল (আমার ক্ষেত্রে সিএসএস ফাইল) সন্ধান করুন। ন্যানো দিয়ে খুলুন এবং উইন্ডোজ শেয়ারে ফাইলের সাথে তুলনা করুন (তারা অভিন্ন দেখায়)। ভিএম অন ন্যানোর সাথে ভাগ করা ফাইল সংরক্ষণ করুন। সমস্ত পরিবর্তনগুলি এখন ব্রাউজারে প্রতিফলিত হয়। কেন এটি কাজ করে তা নিশ্চিত নয় তবে এটি আমার ক্ষেত্রে ঘটেছে।

আপডেট: ভিএম সার্ভারটি রিবুট করার পরে সমস্যা ফিরে আসল। সমাধানের অধীনে দেওয়া নির্দেশাবলী অনুসরণ করে সিএসএসকে পুনরায় আপডেটের প্রতিক্রিয়া জানানো হয়েছে


-1

আমার ক্ষেত্রে এটি /etc/php/7.2/fpm/php.ini (উবুন্টু) এ সক্ষম ওপচাচি ছিল:

opcache.enable=1

এটিকে 0-এ সেট করা সার্ভারকে (পিএইচপি) ফাইলগুলির সর্বশেষ সংস্করণটি লোড করে দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.