ডিস্কে সংশোধন করা সত্ত্বেও আমি কীভাবে স্ট্যাটিক ফাইলগুলি ক্যাচিং করা থেকে লাইটটিপিডি প্রতিরোধ করব?


10

আমি স্ট্যাটিক ফাইলগুলি পরিবেশন করতে লাইটটিপিডি ব্যবহার করছি। আমার নিয়মিত আপডেট হয় এমন একটি গানে আমার একগুচ্ছ চিত্র রয়েছে। এটি ফাইলের সামগ্রী (এবং ফাইলসাইজ) পাশাপাশি পরিবর্তনের তারিখ পরিবর্তন করবে তবে তাদের ফাইলের নামটি নয়।

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

আমি ওয়্যারশার্কের মাধ্যমে যাচাই করেছি এবং আমার ব্রাউজারটি সত্যিই ফাইলটিতে একটি অনুরোধ করছে, এটি ব্রাউজারের ক্যাচিংয়ের সমস্যা নয়। এটি খালি ক্যাশে থেকে অনুরোধ করার সময় 200 টি ঠিক আছে এবং প্রত্যাশার মতো 304 সংশোধিত নয় returns তবে ফাইলটি একটি ভুল সর্বশেষ-সংশোধিত শিরোলেখ দিয়ে ফিরে আসল যা প্রকৃত সর্বশেষ পরিবর্তনের তারিখকে প্রতিফলিত করে না।

হতে পারে এমন কোনও কনফিগার নির্দেশ রয়েছে যা সম্পর্কে আমি অবগত নই?

আমি চাইছি যে হালকাভাবে ফিরিয়ে দেওয়া ফাইলগুলি সরাসরি ডিস্কে করা পরিবর্তনগুলি প্রতিফলিত করতে, বা কমপক্ষে এর ক্যাশেটি অবৈধ করতে সক্ষম হয়ে উঠবে।

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

উত্তর:


6

অবশেষে আমি বিষয়টি খুঁজে পেয়েছি। এবং এটি ভার্চুয়ালবক্স থেকে আসে।

হোস্টে (উইন) কোনও ফাইল সম্পাদনা করার সময়, অতিথির (লিনাক্স) লাইটটিপিডি ফাইল সামগ্রী সঠিকভাবে আপডেট করে না (তবে সঠিকভাবে ফাইলের আকার আপডেট করে), ফলে ক্রপযুক্ত বা গারলেড সামগ্রী ফিরে আসে।

আমার ভাগ করা ড্রাইভগুলি আনমাউন্ট করা এবং সেগুলি পুনরায় মাউন্ট করা, বা অতিথিতে সরাসরি ফাইল সম্পাদনা করার বিষয়টি সমাধান করে।

অবশেষে এটি বের করতে আমার 6 মাস সময় লেগেছে।


3

আপনি মোড_ ক্যাশে ইনস্টল করেছেন কিনা তা উল্লেখ করেন না? এই মডিউলটি ইনস্টল করা অবস্থায় 'সক্ষম' হয়েছে def

আমি এটিকে পরামর্শ দিতে ঘৃণা করি, তবে কী ইটাগগুলি চালু করা সাহায্য করে?


mod_cache ইনস্টল করা নেই। ইটাগগুলি সক্ষম করা হয়েছে (তবে ইটাগটি ইটাগ তৈরি করতে ব্যবহৃত হয় না)। আমি ইনোড সক্ষম করার চেষ্টা করেছি, বা ইটাগ অক্ষম করার চেষ্টা করেছি, তবে কোনও ফল হয় নি।
পিক্সেলাস্টিক

2

স্ট্যাট ইঞ্জিন ক্যাচিংকে 'অক্ষম' করে দেওয়ার চেষ্টা করুন:

server.stat-cache-engine = "disable'

ধন্যবাদ, তবে এর কোনও প্রভাব নেই। তবে আমি সেই নির্দেশনা জানতাম না এবং এটি পরে কার্যকরও হতে পারে।
পিক্সেলাস্টিক

আপনার এবং সার্ভারের মধ্যে কোনও মিডল ম্যান প্রক্সি থাকতে পারে? আপনার সার্ভারটি পুনরায় চালু করার চেষ্টা করুন এবং একই ফাইলটি অ্যাক্সেস করুন। আপনি কি mod_compress ব্যবহার করছেন?
আলেকসি করজুন

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

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

স্প্যামিং মন্তব্যের জন্য দুঃখিত: মোড_কম্প্রেস অক্ষম করা কোনও পরিবর্তন করে না, পুরো ভিএম পুনরায় চালু করে না।
পিক্সেলাস্টিক

2

এই লাইটটিপিডি বিকল্পটি আমার পক্ষে কাজ করেছিল

server.network-backend = "writev" 

ডেবিয়ান ডেস্কটপে দেবিয়ান ভিএম-এ আমার জন্য আকর্ষণীয় কাজ করেছেন, ধন্যবাদ!
ইভান

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