NGINX Cache ବିଲୋପ କରିବା ତ୍ରୁଟି ଲଗ୍ ରେ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଅନଲିଙ୍କ୍ ତ୍ରୁଟି ରଖିଥାଏ
ପ୍ରକାଶିତ: 11:27:46 AM UTC ଠାରେ ଫେବୃଆରୀ 15, 2025
ଆପଣଙ୍କ ଲଗ୍ ଫାଇଲଗୁଡିକ ତ୍ରୁଟି ସନ୍ଦେଶ ସହିତ ବିଶୃଙ୍ଖଳିତ ନ ରଖି କିପରି NGINX ର କ୍ୟାଶରୁ ଆଇଟମ୍ ବିଲୋପ କରିବେ ତାହା ଏହି ପ୍ରବନ୍ଧରେ ବର୍ଣ୍ଣନା କରାଯାଇଛି। ଯଦିଓ ସାଧାରଣତଃ ଏକ ସୁପାରିଶ କରାଯାଇଥିବା ପଦ୍ଧତି ନୁହେଁ, ଏହା କେତେକ ଅଗ୍ରଣୀ କ୍ଷେତ୍ରରେ ଉପଯୋଗୀ ହୋଇପାରେ ।
Deleting NGINX Cache Puts Critical Unlink Errors in Error Log
ଏହି ପୋଷ୍ଟରେ ଥିବା ସୂଚନା ୟୁବୁଣ୍ଟୁ ସର୍ଭର ୧୪.୦୪ x ୬୪ରେ ଚାଲୁଥିବା ଏନଜିଆଇଏକ୍ସ ୧.୪.୬ ରେ ଫାଷ୍ଟସିଜିଆଇ କ୍ୟାଚିଂ ଉପରେ ଆଧାରିତ । ଏହା ଅନ୍ୟ ସଂସ୍କରଣ ପାଇଁ ବୈଧ ହୋଇପାରେ କିମ୍ବା ହୋଇନପାରେ।
(ଅପଡେଟ୍ ୨୦୨୫: ମୁଁ ଅରିଜିନାଲ ପୋଷ୍ଟ ଲେଖିଥିଲି ଏବଂ ବର୍ତ୍ତମାନ ମଧ୍ୟରେ ବହୁତ କିଛି ବଦଳିଯାଇଛି। ସର୍ଭର୍ ଦ୍ରୁତ ଏବଂ ଶସ୍ତା, ତେଣୁ ମୁଁ ପ୍ରକୃତରେ ଏହି ପୋଷ୍ଟରେ ବର୍ଣ୍ଣିତ ପଦ୍ଧତିକୁ ସୁପାରିଶ କରିବି ନାହିଁ ଯେଉଁଠାରେ ମୁଁ କେବଳ କିଛି ଅତିରିକ୍ତ ପିଢ଼ିର ଗତିଶୀଳ ବିଷୟବସ୍ତୁ ସଞ୍ଚୟ କରିବା ପାଇଁ କ୍ୟାଶ ଏକ୍ସପାୟରୀକୁ ମାଇକ୍ରୋ-ପରିଚାଳନା କରିବାକୁ ଚେଷ୍ଟା କରେ। ଭବିଷ୍ୟତ ରେଫରେନ୍ସ ପାଇଁ ମୁଁ ଏଠାରେ ବିଷୟବସ୍ତୁ ଛାଡିଦେବି ଏବଂ ଯଦି କାହାକୁ ପ୍ରକୃତରେ କୌଣସି କାରଣରୁ ଏହାର ଆବଶ୍ୟକତା ଅଛି । ମୁଁ ନିଶ୍ଚିତ କରିନାହିଁ ଯେ ଏହା ତଥାପି ଏନଜିଆଇଏନଏକ୍ସର ସାମ୍ପ୍ରତିକ ସଂସ୍କରଣ ପାଇଁ କାର୍ଯ୍ୟ କରେ, କିନ୍ତୁ ମୁଁ ଭାବିବି ଯେ ଏହା ହୁଏ)।
ଆପାଚିରୁ ଏନଜିଆଇଏନଏକ୍ସକୁ ଅନେକ ସ୍ଥାନ ସ୍ଥାନାନ୍ତର କରିବା ପରେ ମୁଁ ଏହାର ବିଲ୍ଟ-ଇନ୍ କ୍ୟାଚିଂ କ୍ଷମତାକୁ ବହୁତ ପସନ୍ଦ କରିଛି, ଯାହା ମୋ ଠାରୁ ଅଧିକ ହସ୍ତକ୍ଷେପ ନକରି ଅଧିକାଂଶ ପରିସ୍ଥିତିରେ ବହୁତ ଭଲ ଭାବରେ କାମ କରେ |
ତଥାପି, ଗୋଟିଏ ସାଇଟ୍ ପାଇଁ, ମୋତେ ପ୍ରକୃତରେ କ୍ୟାଶ (ଉଭୟ ସମ୍ପୂର୍ଣ୍ଣ ଭାବରେ ଏବଂ ବ୍ୟକ୍ତିଗତ ଏଣ୍ଟ୍ରିଗୁଡ଼ିକୁ ଅପସାରଣ କରିବା) ସଫା କରିବାର କ୍ଷମତା ଆବଶ୍ୟକ ଥିଲା। NGINXର ମାଗଣା ଗୋଷ୍ଠୀ ସଂସ୍କରଣ କେବଳ ସମୟ-ଭିତ୍ତିକ କ୍ୟାଶ ଏକ୍ସପାୟରୀକୁ ସମର୍ଥନ କରେ (ଅର୍ଥାତ୍ ଆପଣ ଏହାକୁ ଏକ ଘଣ୍ଟା, ଗୋଟିଏ ଦିନ ଇତ୍ୟାଦି ପରେ କିଛି ପରିବର୍ତ୍ତନ ହୋଇଛି କି ନାହିଁ ଯାଞ୍ଚ କରିବାକୁ ସେଟ୍ ଅପ୍ କରିପାରିବେ)। କିନ୍ତୁ ଯଦି ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ସମ୍ବଳ କେବେ ବଦଳିବ ତାହା ସମୟ ପୂର୍ବରୁ ନିର୍ଦ୍ଧାରଣ କରିବାର କୌଣସି ନିର୍ଭରଯୋଗ୍ୟ ଉପାୟ ନଥିଲେ କ'ଣ ହେବ? ଉଦାହରଣ ସ୍ୱରୂପ, ମୋର କୌଣସି ଧାରଣା ନାହିଁ ଯେ ମୁଁ ଫେରି ଆସିବା ଏବଂ ଏହି ପୋଷ୍ଟରେ କିଛି ସମ୍ପାଦନ କରିବାକୁ ଏକ ଘଣ୍ଟା, ଗୋଟିଏ ଦିନ କିମ୍ବା ଏକ ବର୍ଷ ହେବ - ଏବଂ ଯଦି ଗୋଟିଏ ଦିନ ପାଇଁ ଯନ୍ତ୍ରଣା ଭଲ ହୋଇଥାନ୍ତା ତେବେ କେବଳ ଏକ ଘଣ୍ଟା ପାଇଁ ଯନ୍ତ୍ରଣା କାହିଁକି?
ଏହା ହେଉଛି ଯେଉଁଠାରେ କ୍ୟାଶକୁ ମାନୁଆଲି ସଫା କରିବାର କ୍ଷମତା ଆବଶ୍ୟକ (କିମ୍ବା ଆପଣଙ୍କ ୱେବ ଆପ୍ଲିକେସନ୍ ଏନଜିଆଇଏନଏକ୍ସକୁ ସୂଚିତ କରେ ଯେ କିଛି ଶୁଦ୍ଧ ହେବା ଉଚିତ୍) । ଏନଜିଆଇଏନ୍ଏକ୍ସ ପଛରେ ଥିବା ଲୋକମାନେ ଏହାର ଆବଶ୍ୟକତା ବିଷୟରେ ସ୍ପଷ୍ଟ ଭାବରେ ଅବଗତ ଅଛନ୍ତି କାରଣ ଏହି ବୈଶିଷ୍ଟ୍ୟ ସେମାନଙ୍କ ଉତ୍ପାଦର ଦେୟ ସଂସ୍କରଣରେ ସମର୍ଥିତ - କିନ୍ତୁ ଯଦିଓ ସେମାନେ ନିଶ୍ଚିତ ଭାବରେ ଯେକୌଣସି ଉପାୟରେ ସେମାନଙ୍କର ଲାଇସେନ୍ସ ସେଟ୍ ଅପ୍ କରିବାକୁ ହକ୍ଦାର ଅଟନ୍ତି, ମୂଲ୍ୟ ମୋ ପାଇଁ ଟିକେ ଅଧିକ ଅଟେ ଯେତେବେଳେ ଏହି ପ୍ରକାର୍ଯ୍ୟ ହେଉଛି ଏକମାତ୍ର ଦେୟ ପ୍ରାପ୍ତ ବୈଶିଷ୍ଟ୍ୟ ଯେତେବେଳେ ମୋତେ ପ୍ରକୃତରେ ଆବଶ୍ୟକ ।
ସୌଭାଗ୍ୟବଶତଃ, ଏହା ଜଣାପଡିଛି ଯେ ଆପଣ ନିଜେ କ୍ୟାଶ ଡିରେକ୍ଟରିରୁ ଫାଇଲଗୁଡିକ ବିଲୋପ କରିପାରିବେ ଏବଂ NGINX ଏହାକୁ ଉଠାଇବ ଏବଂ ବିନା ଅସୁବିଧାରେ ଆପଣଙ୍କ ବ୍ୟାକ୍-ଏଣ୍ଡରୁ ଏକ ନୂତନ କପି ଆଣିବ। ତଥାପି, ଯଦି ଆପଣ ଆପଣଙ୍କ କନଫିଗ୍ରେସନ୍ କୁ ଟ୍ୱିକ୍ ନକରି ଏପରି କରନ୍ତି ତେବେ ଆପଣ କିଛି ସମୟ ପରେ ଆପଣଙ୍କ ତ୍ରୁଟି ଲଗ୍ ରେ ଏହି ପରି ବାର୍ତ୍ତାଗୁଡିକର ଏକ ସମ୍ପୂର୍ଣ୍ଣ ଗୁଣ୍ଡ ଦେଖିବାର ସମ୍ଭାବନା ଅଛି:
ଏହା ଦେଖାଯାଏ ଯେ ଏହି ତ୍ରୁଟିଗୁଡିକ ସେତେବେଳେ ଘଟିଥାଏ ଯେତେବେଳେ ଏନଜିଆଇଏନଏକ୍ସ ନିଜେ fastcgi_cache_path ନିର୍ଦ୍ଦେଶନାମାର ନିଷ୍କ୍ରିୟ ପାରାମିଟର ଦ୍ୱାରା ନିର୍ଦ୍ଦିଷ୍ଟ ସମୟ ପରେ କ୍ୟାଶ ଏଣ୍ଟ୍ରିଗୁଡିକ ବିଲୋପ କରିବାକୁ ଚେଷ୍ଟା କରେ । ଏଥିପାଇଁ ଡିଫଲ୍ଟ କେବଳ 10 ମିନିଟ୍, କିନ୍ତୁ ଆପଣ ଏହାକୁ ଯେକୌଣସି ମୂଲ୍ୟରେ ସେଟ୍ କରିପାରିବେ। ଯଦି ଆପଣ ଏହାକୁ ସେଟ୍ କରନ୍ତି, କୁହନ୍ତୁ, 10 ବର୍ଷ, ଏହା ସମ୍ଭବତଃ ଅସମ୍ଭବ ଯେ ଆପଣ ଏହି ମଧ୍ୟରେ ସର୍ଭର୍ ପୁନଃଆରମ୍ଭ କରିନାହାଁନ୍ତି ତେଣୁ ମେମୋରୀରେ ଥିବା ମୁଖ୍ୟ ସୂଚକାଙ୍କ ଏହି ସମୟରେ ସଫା ହୋଇଥାନ୍ତା। ଯଦି ଆପଣ ଏହା କରନ୍ତି, ତେବେ ଆପଣଙ୍କୁ ନିଶ୍ଚିତ କରିବାକୁ ପଡିବ କି ଆପଣ ନିଜେ କ୍ୟାଶ ସଫା କରନ୍ତୁ, ଏନଜିଆଇଏନଏକ୍ସ ଆଉ ଆପଣଙ୍କ ପାଇଁ ଏହା କରିବ ନାହିଁ।
ମୋତେ ଏହା ପ୍ରକୃତରେ ଆଶ୍ଚର୍ଯ୍ୟ ଲାଗୁଛି ଯେ ଏହା ଏକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ତ୍ରୁଟି ଭାବରେ ବିବେଚନା କରାଯାଏ ଯେ ଏକ କ୍ୟାଶ ଏଣ୍ଟ୍ରି ବିଲୋପ କରାଯାଇପାରିବ ନାହିଁ କାରଣ ଏହା ବିଦ୍ୟମାନ ନାହିଁ । ଏହାର ଗମ୍ଭୀରତା ବର୍ଗୀକରଣ ଏତେ ଅଧିକ ହେବାର ଅର୍ଥ ହେଉଛି ଯେ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ସୀମାଠାରୁ କମ୍ ଲଗ୍ ଏଣ୍ଟ୍ରିକୁ ଅଣଦେଖା କରି ମୁକ୍ତି ପାଇବା ଅସମ୍ଭବ । ବ୍ୟାକ୍-ଏଣ୍ଡରୁ ନୂଆ କପି ମିଳିବା ମାତ୍ରେ ଏଣ୍ଟ୍ରି ପୁଣି ଥରେ ଆସିବ, ତେଣୁ ମୋ ମତରେ ଏହା ଅଧିକାଂଶ ସମୟରେ ଏକ ଚେତାବନୀ ହେବା ଉଚିତ୍ ।
ବର୍ତ୍ତମାନ, ଯଦି ଅନୁମତି କିମ୍ବା ତୃତୀୟ କିଛି ସମସ୍ୟା କାରଣରୁ କ୍ୟାଶ ଏଣ୍ଟ୍ରି ବିଲୋପ କରାଯାଇ ପାରିବ ନାହିଁ, ତେବେ ଏହା ଏକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ତ୍ରୁଟି ହେବ, କାରଣ ଏହା ଏନଜିଆଇଏନଏକ୍ସକୁ ଏହାର ଅବଧି ଶେଷ ହେବାର ଦୀର୍ଘ ସମୟ ପରେ କ୍ୟାଚ୍ ବିଷୟବସ୍ତୁ ପରିବେଷଣ ଜାରି ରଖିପାରେ, କିନ୍ତୁ ସଫେଇ ପ୍ରକ୍ରିୟା ଏହି ପାର୍ଥକ୍ୟ ସୃଷ୍ଟି କରୁଥିବା ପରି ମନେ ହୁଏ ନାହିଁ।