এনজিআইএনএক্স-এ কীভাবে বিষয়বস্তু ক্যাশে করবেন


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

আপনি স্থানীয় উত্স সার্ভারগুলিকে আপস্ট্রিম সার্ভার থেকে প্রতিক্রিয়াগুলি ক্যাশে করতে এবং কনটেন্ট ডেলিভারি নেটওয়ার্কগুলি (সিডিএন) এর এজ সার্ভারগুলি তৈরি করতে ত্বরান্বিত করতে NGINX ব্যবহার করতে পারেন। এনজিআইএনএক্স কয়েকটি বৃহত্তম সিডিএনকে ক্ষমতা দেয়।

যখন ক্যাশে হিসাবে কনফিগার করা হয়, এনজিআইএনএক্স এটি করবে:

  • ক্যাশে স্থির এবং গতিশীল সামগ্রী content
  • মাইক্রো-ক্যাচিংয়ের মাধ্যমে গতিশীল সামগ্রীর কার্যকারিতা উন্নত করুন
  • আরও ভাল পারফরম্যান্সের জন্য পটভূমিতে পুনর্বিবেচনার সময় বাসি সামগ্রী সরবরাহ করুন
  • ওভাররাইড করুন বা ক্যাশে-নিয়ন্ত্রণ শিরোনাম সেট করুন এবং আরও অনেক কিছু

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

আপনার লিনাক্স সার্ভারে এনজিআইএনএক্স ইনস্টল করা উচিত, যদি এনজিএনএক্স ইনস্টল করতে এই গাইডগুলি অনুসরণ না করে:

  • CentOS 8 এ Nginx কীভাবে ইনস্টল করবেন
  • CentOS 7 এ Nginx কীভাবে ইনস্টল করবেন

Nginx এ ক্যাশে স্থির সামগ্রী

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

যদি আপনার ওয়েবসাইটটি প্রচুর স্থিতিশীল সামগ্রী ব্যবহার করে তবে আপনি ক্লায়েন্ট-সাইড ক্যাচিং সক্ষম করে এর কার্যকারিতাটি অনুকূল করতে পারেন যেখানে ব্রাউজারটি দ্রুত অ্যাক্সেসের জন্য স্থির সামগ্রীর অনুলিপিগুলি সঞ্চয় করে।

নিম্নলিখিত নমুনা কনফিগারেশনটি একটি ভাল গো, কেবলমাত্র আপনার ওয়েবসাইটের নামের URL সহ www.example.com প্রতিস্থাপন করুন এবং যথাযথ অন্যান্য পথের নাম পরিবর্তন করুন make

server {
    # substitute your web server's URL for www.example.com
    server_name www.example.com;
    root /var/www/example.com/htdocs;
    index index.php;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        try_files $uri =404;
        include fastcgi_params;
        # substitute the socket, or address and port, of your WordPress server
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        #fastcgi_pass 127.0.0.1:9000;
 	}   

    location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg
                  |jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid
                  |midi|wav|bmp|rtf)$ {
        expires max;
        log_not_found off;
        access_log off;
    }
}

এনগিনেক্সে ক্যাশে ডায়নামিক সামগ্রী

এনজিআইএনএক্স স্থানীয় ফাইল সিস্টেমের কোথাও অবিচ্ছিন্ন ডিস্ক-ভিত্তিক ক্যাশে ব্যবহার করে। সুতরাং ক্যাশেড সামগ্রী সংরক্ষণের জন্য স্থানীয় ডিস্ক ডিরেক্টরি তৈরি করে শুরু করুন
# এমকেডির -পি/ভার/ক্যাশে/এনগিনেক্স

এরপরে, ক্যাশে ডিরেক্টরিতে উপযুক্ত মালিকানা সেট করুন। নীচের হিসাবে এটি এনজিআইএনএক্স ব্যবহারকারী (এনগিনেক্স) এবং গ্রুপ (এনজিনেক্স) এর মালিকানাধীন হওয়া উচিত।

# chown nginx:nginx /var/cache/nginx

নীচের অংশে কীভাবে এনগিনেক্সে গতিশীল সামগ্রী সক্ষম করতে হয় তার জন্য এখন আরও এগিয়ে যান।

এনজিআইএনএক্স-তে ফাস্টসিজিআই ক্যাশে সক্ষম করা

ফাস্টসিজিআই (বা এফসিজিআই) হ'ল এনজিআইএনএক্সের মতো ওয়েব সার্ভারের সাথে পিএইচপি এর মতো ইন্টারেক্টিভ অ্যাপ্লিকেশনগুলিকে ইন্টারফেস করার জন্য একটি বহুল ব্যবহৃত প্রোটোকল। এটি সিজিআই (কমন গেটওয়ে ইন্টারফেস) এর একটি এক্সটেনশন।

এফসিজিআইয়ের প্রধান সুবিধাটি হ'ল এটি একক প্রক্রিয়াতে একাধিক সিজিআই অনুরোধ পরিচালনা করে। এটি ব্যতীত ওয়েবসভারকে একটি পরিষেবার জন্য প্রতিটি ক্লায়েন্টের অনুরোধের জন্য একটি নতুন প্রক্রিয়া (যা নিয়ন্ত্রণ করতে হবে, একটি অনুরোধ প্রক্রিয়া করতে হবে এবং বন্ধ করতে হবে) খুলতে হবে।

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

এনজিআইএনএক্স-এর অধীনে, এনজিআইএনএক্স কনফিগারেশন কাঠামোর মধ্যে, শীর্ষ-স্তরের http {} প্রসঙ্গতে fastcgi_cache_path নামে একটি নির্দেশিকা ব্যবহার করে ফাস্টসিজিআই কনটেন্ট ক্যাশে ঘোষণা করা হয়। আপনি fastcgi_cache_key যোগ করতে পারেন যা ক্যাচিংয়ের জন্য একটি কী (অনুরোধ শনাক্তকারী) সংজ্ঞায়িত করে।

এছাড়াও, প্রবাহের ক্যাশে স্থিতিটি পড়তে, http {{ প্রসঙ্গের মধ্যে অ্যাড_হেডার এক্স-ক্যাশে-স্থিতি নির্দেশিকা যুক্ত করুন - এটি ডিবাগিংয়ের উদ্দেশ্যে কার্যকর।

আপনার সাইটটির সার্ভার ব্লক কনফিগারেশন ফাইলটি /etc/nginx/conf.d/testapp.conf বা /etc/nginx/sites- উপলভ্য/সেরা অ্যাপ্লিকেশন। কোডে অবস্থিত (উবুন্টু এবং এর ডেরিভেটিভসমূহের অধীনে), সম্পাদনার ফাইলটি খুলুন এবং যুক্ত করুন ফাইলের শীর্ষে নিম্নলিখিত লাইনগুলি।

fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=CACHEZONE:10m; inactive=60m max_size=40m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
add_header X-Cache $upstream_cache_status;

fastcgi_cache_path নির্দেশিকা যে পরামিতিগুলির সংখ্যা নির্দিষ্ট করে:

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

fastcgi_cache_key নির্দেশকের ভেরিয়েবলগুলি নীচে বর্ণিত।

এনজিআইএনএক্স তাদের একটি অনুরোধের কী (সনাক্তকারী) গণনা করতে ব্যবহার করে। গুরুত্বপূর্ণভাবে, ক্লায়েন্টকে একটি ক্যাশেড প্রতিক্রিয়া পাঠাতে, অনুরোধটির অবশ্যই ক্যাশেড প্রতিক্রিয়া হিসাবে একই কী থাকতে হবে।

  • $প্রকল্প - অনুরোধ প্রকল্প, HTTP বা HTTPS
  • $অনুরোধ_ধর্মী - অনুরোধ পদ্ধতি, সাধারণত "GET" বা "পোস্ট"।
  • $হোস্ট - এটি অনুরোধ লাইন থেকে হোস্টনাম হতে পারে, বা "হোস্ট" অনুরোধ শিরোনাম ক্ষেত্রের হোস্টনাম, বা সার্ভারের নামটি একটি অনুরোধের সাথে মিল রেখে, অগ্রাধিকারের ক্রমে।
  • $অনুরোধ_উরি - এর অর্থ সম্পূর্ণ আসল অনুরোধ ইউআরআই (যুক্তি সহ)

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

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

fastcgi_cache_ માન્ય > নির্দেশ হিসাবে প্রদর্শিত হিসাবে বিভিন্ন প্রতিক্রিয়া জন্য ক্যাশিং সময় সেট করুন c

fastcgi_cache CACHEZONE;
fastcgi_cache_valid  60m;

যদি আমাদের ক্ষেত্রে কেবল ক্যাশিংয়ের সময় নির্দিষ্ট করা থাকে তবে কেবল 200, 301 এবং 302 টি প্রতিক্রিয়া ক্যাশে করা হয়েছে। তবে আপনি প্রতিক্রিয়াগুলি স্পষ্টভাবে নির্দিষ্ট করতে বা কোনও (যে কোনও প্রতিক্রিয়া কোডের জন্য) ব্যবহার করতে পারেন:

fastcgi_cache CACHEZONE;
fastcgi_cache_valid 200  301 203 60m;
fastcgi_cache_valid 404 10m;
OR
fastcgi_cache CACHEZONE;
fastcgi_cache_valid  any 10m;

ফাইন-টুনিং ফাস্টসিজিআই ক্যাচিং পারফরম্যান্স এনগিনেক্সে

প্রতিক্রিয়াটি ক্যাশ করার আগে একই কী দিয়ে একটি অনুরোধ করা উচিত ন্যূনতম সংখ্যা নির্ধারণ করতে, httpc {} বা <কোডের মধ্যে fastcgi_cache_min_uses নির্দেশ অন্তর্ভুক্ত করুন > সার্ভার {} বা অবস্থান {} প্রসঙ্গ।

fastcgi_cache_min_uses  3

"যদি-সংশোধিত-যেহেতু" এবং "যদি-না-ম্যাচ" শিরোনাম ক্ষেত্রগুলি দিয়ে শর্তসাপেক্ষ অনুরোধগুলি ব্যবহার করে মেয়াদোত্তীর্ণ ক্যাশে আইটেমগুলির পুনঃ-বৈধকরণ সক্ষম করতে HTTP- র মধ্যে fastcgi_cache_reuthorate নির্দেশিকা যুক্ত করুন ।} বা সার্ভার {} বা অবস্থান {} প্রসঙ্গ।

fastcgi_cache_revalidate on;

অবস্থান নির্দেশের মধ্যে প্রক্সি_ক্যাচি_সেস_সেটেল নির্দেশিকা ব্যবহার করে, যখন অরিজিনাল সার্ভার বা এফসিজিআই সার্ভারটি নিচে থাকে তখন আপনি এনজিআইএনএক্সকে ক্যাশেড সামগ্রী সরবরাহ করতেও নির্দেশ দিতে পারেন।

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

proxy_cache_use_stale error timeout http_500;

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

fastcgi_cache_background_update on;

ক্যাশে পারফরম্যান্সের সূক্ষ্ম-সুরের জন্য ফাস্টসিগি_ক্যাচ_লোক দরকারী প্রতিক্রিয়া তারপর ক্যাশে থেকে অন্যান্য ক্লায়েন্ট অনুরোধ পরিবেশন।

fastcgi_cache_lock on;

এনজিআইএনএক্সএক্স কনফিগারেশন ফাইলে উপরোক্ত সমস্ত পরিবর্তন করার পরে এটি সংরক্ষণ এবং বন্ধ করুন। তারপরে এনজিআইএনএক্স পরিষেবাটি পুনঃসূচনা করার আগে যেকোন সিনট্যাক্স ত্রুটির জন্য কনফিগারেশন কাঠামোটি পরীক্ষা করে দেখুন।

# nginx -t
# systemctl restart nginx

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

# curl -I http://testapp.linux-console.net

এখানে NGINX বাসি ডেটা পরিবেশন করছে এমন আরও একটি স্ক্রিনশট রয়েছে।

বাইপাস ক্যাশে ব্যতিক্রম যুক্ত করা হচ্ছে

fastcgi_cache_bypass নির্দেশনা ব্যবহার করে এনজিআইএনএক্স ক্লায়েন্টদের কাছে ক্যাশেড প্রতিক্রিয়াগুলি প্রেরণ করবে না এমন শর্তাবলী সেট করা সম্ভব। এবং এনজিআইএনএক্সকে আপ স্ট্রিম সার্ভার থেকে প্রতিক্রিয়াগুলি ক্যাশে না করার নির্দেশ দেওয়ার জন্য fastcgi_no_cache ব্যবহার করুন।

উদাহরণস্বরূপ, আপনি যদি ক্যোরি স্ট্রিং সহ পোষ্ট অনুরোধ এবং URL গুলি সর্বদা পিএইচপি এ যান P কন্ডিশনটি নীচে সেট করার জন্য প্রথমে if স্টেটমেন্ট ঘোষণা করুন।

set $skip_cache 0; 
if ($request_method = POST) { 
	set $skip_cache 1; 
} 

তারপরে অবস্থান নির্দেশে উপরের ব্যতিক্রমটি সক্রিয় করুন যা fastcgi_cache_bypass এবং fastcgi_no_cache নির্দেশাবলী ব্যবহার করে PHP-FPM- তে পিএইচপি অনুরোধগুলি পাস করে।

 
fastcgi_cache_bypass $skip_cache; 
fastcgi_no_cache $skip_cache;

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

এটি ব্যবহার করতে, আপনার পরিবেশে যা বিদ্যমান তা প্রতিফলিত করতে পরিবর্তনগুলি (যেমন ডোমেন, পাথ, ফাইলের নাম ইত্যাদি) করুন।

fastcgi_cache_path /var/run/NGINX-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; 
fastcgi_cache_key "$scheme$request_method$host$request_uri"; 
server { 
	server_name example.com www.example.com; 
	root /var/www/example.com; 
	index index.php; 
	access_log /var/log/NGINX/example.com.access.log; 
	error_log /var/log/NGINX/example.com.error.log; 
	set $skip_cache 0; 
	# POST requests and URLs with a query string should always go to PHP 	
	if ($request_method = POST) { 
		set $skip_cache 1; 
	} 
	if ($query_string != "") {
		set $skip_cache 1; 
	} 
	# Don't cache URIs containing the following segments 
	if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php |sitemap(_index)?.xml") { 
		set $skip_cache 1; 
	} 
	# Don't use the cache for logged-in users or recent commenters 
	if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass |wordpress_no_cache|wordpress_logged_in") {
		set $skip_cache 1; 
	} 
	location / { 
		try_files $uri $uri/ /index.php?$args; 
	} 
	location ~ .php$ { 
		try_files $uri /index.php; 
		include fastcgi_params; 
		fastcgi_pass unix:/var/run/php5-fpm.sock; 
		fastcgi_cache_bypass $skip_cache; 
		fastcgi_no_cache $skip_cache; 
		fastcgi_cache WORDPRESS; 
		fastcgi_cache_valid 60m; 
	} 
	location ~ /purge(/.*) {
		fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; 
	} 
	location ~* ^.+.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg |gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi |wav|bmp|rtf)$ { 
		access_log off; 
		log_not_found off; 
		expires max; 
	} 
	location = /robots.txt { 
		access_log off; 
		log_not_found off; 
	}
	location ~ /. { 
		deny all; 
		access_log off; 
		log_not_found off; 
	} 
}

এনজিআইএনএক্সে প্রক্সি ক্যাশে সক্ষম করা

এনজিআইএনএক্স অন্যান্য প্রক্সি সার্ভারের প্রতিক্রিয়াগুলিও ক্যাচিং সমর্থন করে ( প্রক্সি_পাস নির্দেশ দ্বারা সংজ্ঞায়িত)। এই পরীক্ষার ক্ষেত্রে, আমরা Node.js ওয়েব অ্যাপ্লিকেশনটির বিপরীত প্রক্সি হিসাবে NGINX ব্যবহার করছি, সুতরাং আমরা NG.X অ্যাপ্লিকেশনটির ক্যাশে হিসাবে NGINX সক্ষম করব। এখানে ব্যবহৃত সমস্ত কনফিগারেশন নির্দেশাবলীর পূর্ববর্তী বিভাগের ফাস্টসিজিআই নির্দেশকের অনুরূপ অর্থ রয়েছে, তাই আমরা তাদের আর ব্যাখ্যা করব না।

প্রক্সি সার্ভার থেকে প্রতিক্রিয়াগুলির ক্যাচিং সক্ষম করতে, শীর্ষ-স্তরের http {} প্রসঙ্গে প্রক্সি_ক্যাচি_পথ নির্দেশ অন্তর্ভুক্ত করুন। কীভাবে অনুরোধগুলি ক্যাশে করা হয়েছে তা নির্দিষ্ট করতে, আপনি প্রক্সি_ক্যাচি_কি নির্দেশিকাটি নীচের হিসাবে যুক্ত করতে পারেন।

proxy_cache_path /var/cache/nginx app1 keys_zone=PROXYCACHE:100m inactive=60m max_size=500m;
proxy_cache_key  "$scheme$request_method$host$request_uri";
add_header X-Cache-Status $upstream_cache_status;
proxy_cache_min_uses 3;

এরপরে, অবস্থান নির্দেশে ক্যাশে সক্রিয় করুন।

location / {
	proxy_pass http://127.0.0.1:3000;
	proxy_cache        PROXYCACHE;
	proxy_cache_valid 200 302 10m;
	proxy_cache_valid 404      1m;
}

NGINX ক্যাশেড সামগ্রী প্রেরণ করে না এবং আপস্ট্রিম সার্ভার থেকে কোনও প্রতিক্রিয়া ক্যাশে করে না এমন শর্তগুলি সংজ্ঞায়িত করতে প্রক্সি_ক্যাচি_বাইপাস এবং প্রক্সি_নো_ ক্যাশে অন্তর্ভুক্ত করুন।

 
proxy_cache_bypass  $cookie_nocache $arg_nocache$arg_comment;
proxy_no_cache        $http_pragma $http_authorization;

ফাইন টুনিং প্রক্সি ক্যাশে পারফরম্যান্স

প্রক্সি ক্যাশের পারফরম্যান্সকে সূক্ষ্ম-সুর করার জন্য নিম্নলিখিত নির্দেশাবলী কার্যকর are তাদেরও ফাস্টসিজিআইয়ের নির্দেশের মতো একই অর্থ রয়েছে।

proxy_cache_min_uses 3;
proxy_cache_revalidate on;
proxy_cache_use_stale error timeout updating http_500;
proxy_cache_background_update on;
proxy_cache_lock on;

আরও তথ্য এবং ক্যাশে কনফিগারেশন নির্দেশের জন্য, দুটি প্রধান মডিউল ngx_http_proxy_module জন্য ডকুমেন্টেশন দেখুন।

অতিরিক্ত সংস্থানসমূহ: ওয়ার্ডপ্রেস পারফরম্যান্স উন্নত করার জন্য টিপস।