আজকে সবচেয়ে সাধারণ ওয়েব সার্ভার সংমিশ্রণগুলির মধ্যে একটি হল উবুন্টু সার্ভার সংস্করণে চলমান Nginx ওয়েব সার্ভার সফ্টওয়্যার বাস্তবায়ন বৈশিষ্ট্য। এই সিস্টেমটি অত্যন্ত দক্ষ এবং আপডেট রাখা সহজ, যেহেতু উভয় প্যাকেজই নিয়মিত আপডেট পেতে থাকে। সিস্টেম অ্যাডমিনিস্ট্রেটররা সাধারণত অ্যাপটি প্যাকেজ ম্যানেজারের মাধ্যমে আপডেটগুলি ইনস্টল করে, কারণ উবুন্টু সার্ভারে ডিফল্টরূপে কোনও গ্রাফিকাল ইন্টারফেস নেই৷
উবুন্টু সার্ভার আপগ্রেড কখনও কখনও অস্বাভাবিক ত্রুটি তৈরি করতে পারে এবং গ্রাফিকাল ইউজার ইন্টারফেসের এই অভাব নতুনদের জন্য তাদের সমস্যা সমাধান করা কঠিন করে তুলতে পারে। উবুন্টু আপগ্রেডের পরে 404 Nginx ত্রুটিগুলি ঠিক করতে কয়েকটি সাধারণ কমান্ড হতে পারে৷
পদ্ধতি 1:অনুপস্থিত Nginx ত্রুটি পৃষ্ঠাগুলি ঠিক করা
যদি একটি সাইট AWS, একটি প্রাইভেট সার্ভার বা LEMP স্ট্যাকে অন্য কোনো সার্ভার কনফিগারেশনে হোস্ট করা হয়, তাহলে এটি উবুন্টু সার্ভার আপগ্রেডের পরে এলোমেলোভাবে নিচে যেতে পারে। একটি ওয়েব ব্রাউজার থেকে সাইটটি অ্যাক্সেস করার চেষ্টা, সম্ভবত অন্য মেশিনে। ধরে নিলাম এটি একটি 404 ত্রুটি প্রদান করে, উবুন্টু সার্ভার CLI-তে যান এবং সাম্প্রতিক সমস্ত ত্রুটিগুলি দেখতে tail -f কমান্ডটি চালান৷
লগটিতে একটি ত্রুটি থাকা উচিত যেমন:
আপনার সিস্টেম একটি অনুপস্থিত ত্রুটি পৃষ্ঠায় ভুগছে. আপনি এই লাইনে 40x.htmlও দেখতে পারেন, যদিও আপনার সাইটটি ডাউন থাকলে এবং আপনি বিনিময়ে 404 ত্রুটি পেয়ে থাকেন তবে এটি তুলনামূলকভাবে অস্বাভাবিক। সেখানে কিছু আছে কিনা দেখতে ls কমান্ডটি ব্যবহার করুন। যদি না হয়, তাহলে আপনাকে 50X ত্রুটির জন্য একটি পৃষ্ঠার জন্য HTML কোড তৈরি করতে হবে।
মনে রাখবেন যে ডিফল্ট ডিরেক্টরি স্ট্রাকচার ব্যবহার করা প্রায়শই প্যাকেজ ম্যানেজারদের সাথে একটি সমস্যা হয়, যা সেখানে সঞ্চিত যা কিছু ওভাররাইট করতে পারে। আপনি যদি একটি কাস্টম ডিরেক্টরি কাঠামো তৈরি করার অনুমতি পান তবে এই ধরণের সমস্যা প্রতিরোধ করতে আপনি Nginx কনফিগারেশনে docroot লাইন পরিবর্তন করতে পারেন৷
পদ্ধতি 2:PHP তৈরি করা সঠিক সকেট খুঁজুন
আপনি একটি ত্রুটি খুঁজে পেতে পারেন যা
এ এরকম কিছু পড়ে
এর মানে আপনার PHP7.0 চলছে, কিন্তু এটি যেখানে হওয়া উচিত সেখানে চলছে না। আপনি কিভাবে PHP কনফিগার করেছেন তার উপর নির্ভর করে সংস্করণ নম্বর ভিন্ন হতে পারে। ডিফল্ট ইনস্টলেশনগুলি অথবা থেকে চলবে, কিন্তু আপনার যদি এই ত্রুটি থাকে তবে সম্ভবত এটি না হওয়ার সম্ভাবনা বেশি৷
কমান্ডগুলি চালান এবং তারপর আপনার সিস্টেমে কোথাও সকেট চলছে কিনা তা দেখতে -নাম ‘php*fpm.sock’ খুঁজুন।
ধরে নিচ্ছি যে আপনি ইতিবাচক আউটপুট পেয়েছেন, তাহলে সকেটটি চালু হওয়া উচিত এ সঠিক জায়গাটি দেখানোর জন্য আপনাকে আপনার Nginx কনফিগারেশন আপডেট করতে হবে। স্বাভাবিকভাবেই, /directoryPath সঠিক পাথ দিয়ে প্রতিস্থাপিত হবে। আপনি যদি সকেট ফাইল ব্যবহার করেন তবে php/php7.0-fpm.sock লাইনটি কনফিগারেশন আপডেট করা উচিত।
পুরানো TCP সকেটের ব্যবহারকারীরা যারা সকেট ফাইল ব্যবহার করেন না তারা sudo netstat -tulpn | চালিয়ে একটি PHP সকেট বর্তমানে পোর্ট 9000 শুনছে কিনা তা পরীক্ষা করতে পারেন। grep 9000 কমান্ড লাইন থেকে। যদি এটি হয়, তাহলে ন্যানো, vi বা অন্য টেক্সট এডিটরে আপনার fastcgi_pass খুলুন এবং সকেট আপডেট করতে 127.0.0.1:9000 ব্যবহার করার পরিবর্তে ইউনিক্স:… লাইন পরিবর্তন করুন।
যদি এর কোনোটিই কাজ না করে, তাহলে নিশ্চিত করুন যে php7.0-fpm বা আপনি যে সংস্করণ নম্বর ব্যবহার করছেন তা sudo systemctl রিস্টার্ট php7.0-fpm কমান্ডের সাথে চলছে, তারপর উপরের প্রক্রিয়াটি পুনরাবৃত্তি করুন।
মনে রাখবেন যে বেশিরভাগ ক্ষেত্রেই লিসেন এন্ট্রি এবং মান একই হতে হবে। আপনি হয়ত নতুন কনফিগারেশনের জন্য চেষ্টা করতে পারেন, অথবা পুরানো স্টাইলের জন্য 127.0.0.1:9000।
লেখক সম্পর্কে
কেভিন অ্যারোস
কেভিন অ্যারোস এক দশকেরও বেশি শিল্প অভিজ্ঞতার সাথে একজন অত্যন্ত অভিজ্ঞ এবং জ্ঞানী প্রযুক্তি বিশেষজ্ঞ। তিনি মাইক্রোসফ্ট সার্টিফাইড টেকনোলজি স্পেশালিস্ট (MCTS) সার্টিফিকেশন ধারণ করেছেন এবং সর্বশেষ প্রযুক্তিগত উন্নয়ন সম্পর্কে আপ-টু-ডেট থাকার গভীর আবেগ রয়েছে। সফটওয়্যার ডেভেলপমেন্ট, সাইবার সিকিউরিটি, এবং ক্লাউড কম্পিউটিং-এর মতো ক্ষেত্রগুলিতে তার দক্ষতা এবং জ্ঞান প্রদর্শন করে কেভিন প্রযুক্তি-সম্পর্কিত বিষয়গুলির বিস্তৃত পরিসরে ব্যাপকভাবে লিখেছেন। কারিগরি ক্ষেত্রে তার অবদান তার সমবয়সীদের দ্বারা ব্যাপকভাবে স্বীকৃত এবং সম্মানিত হয়েছে এবং জটিল প্রযুক্তিগত ধারণাগুলিকে স্পষ্ট এবং সংক্ষিপ্তভাবে ব্যাখ্যা করার ক্ষমতার জন্য তিনি অত্যন্ত সম্মানিত।