যখন আপনি একটি ওপেন-সোর্স প্ল্যাটফর্মে আপনার ওয়েবসাইট হোস্ট করেন, তখন খুব সম্ভব যে সেই প্ল্যাটফর্ম Apache-কে ডিফল্ট ওয়েব সার্ভার হিসেবে ব্যবহার করে যা একটি সার্ভার-গ্রেড লিনাক্স ডিস্ট্রিবিউশনে চলে। ওয়েব সার্ভারের কনফিগারেশনে মৌলিক পরিবর্তন আনলে আপনাকে ওয়েব সার্ভার রিস্টার্ট করতে হবে (অপারেটিং সিস্টেম রিস্টার্ট করার নয়)। Apache রিস্টার্ট করার প্রক্রিয়া সার্ভারের অপারেটিং সিস্টেমের ওপর নির্ভর করে।
পূর্বশর্ত
সার্ভার রিস্টার্ট করতে আপনাকে Apache চলাচল করা অপারেটিং সিস্টেমের শেল এক্সেস প্রয়োজন। ডেডিকেটেড ভার্চুয়াল প্রাইভেট সার্ভারের ক্ষেত্রে, আপনি ব্রাউজারের মাধ্যমে শেল প্রম্পটে লগ-ইন করবেন অথবা আপনার লোকাল কম্পিউটার থেকে সিকিউর শেল (SSH) সেশন শুরু করবেন। যদি আপনি সার্ভারে লগ-ইন করে sudo এর মত উন্নত প্রিবিলেজ সহ কমান্ড এক্সিকিউট না कर पান, তবে Apache সার্ভার রিস্টার্ট করতে পারবেন না। সেক্ষেত্রে সিস্টেম অ্যাডমিনিস্ট্রেটরের সাহায্য নিতে হবে।
লিনাক্সে সার্ভারের সাথে কাজ করা
অনেক লিনাক্স ডিস্ট্রিবিউশন কোর সার্ভিসেস কন্ট্রোল করার জন্য একটি সিরিজ শেল স্ক্রিপ্ট সমর্থন করে। এই স্ক্রিপ্টগুলো বেশ কিছু আর্গুমেন্টের প্রতি প্রতিক্রিয়া জানায় যা স্ক্রিপ্টের ফাংশনিং নির্ধারণ করে:
- Start: একটি সার্ভিস শুরু করে
- Stop: একটি সার্ভিস বন্ধ করে
- Restart: বর্তমান ব্যবহার بغypte একটি সার্ভিস রিস্টার্ট করে
- Reload: বর্তমান কানেকশনগুলো চালু থাকতে দিয়ে একটি সার্ভিস গ্রেসফুলি রিস্টার্ট করে
যদি সম্ভব হয়, restart-এর বদলে reload ব্যবহার করুন কারণ এটি সার্ভারকে আসলে কিল করে না, বরং বর্তমান কনফিগারেশন ফাইলগুলো পুনরায় পড়িয়ে সেটিকে রি-ইনিশিয়ালাইজ করে। পূর্ণ restart বর্তমানে কানেক্টেড ক্লায়েন্টদের ডিসকানেক্ট করছে কনফিগারেশন ফাইলগুলো রি-ইনিশিয়ালাইজ করার পাশাপাশি।
সাধারণত তিনটি পদ্ধতির যেকোনো একটি দিয়ে সার্ভার সার্ভিস রিস্টার্ট করা হয়।
প্রথম পদ্ধতি হলো /etc/init.d/- থেকে স্ক্রিপ্ট ব্যবহার করা—ডেবিয়ান ৮.x-এর আগের ভার্সন বা উবুন্টু ১৫.০৪-এর আগের ভার্সন চালিত সার্ভারের জন্য স্বাভাবিক। দ্বিতীয় পদ্ধতি হলো systemctl কমান্ড ব্যবহার করা। তৃতীয় এবং ফেইলসেফ পদ্ধতি হলো apachectl ব্যবহার করা।
Init.d ব্যবহার করা
/etc/init.d/ স্ক্রিপ্টের ওপর নির্ভরশীল লিনাক্স ডিস্ট্রিবিউশনগুলো Apache রিস্টার্ট করার জন্য নিচের যেকোনো তিনটি কমান্ড ব্যবহার করতে পারে:
/etc/init.d/apache2 restart
sudo /etc/init.d/apache2 restart
sudo service apache2 restart
গ্রেসফুল রিস্টার্ট করার জন্য restart-এর বদলে reload ব্যবহার করুন।
CentOS এবং RHEL সার্ভার ৬.x বা পুরনো ভার্সনের জন্য service স্ক্রিপ্ট ব্যবহার করুন, কিন্তু apache2-এর বদলে httpd কল করুন:
service httpd restart
Systemctl ব্যবহার করা
নতুন অপারেটিং সিস্টেমগুলো, যেমন ডেবিয়ান ৮.x, উবুন্টু ১৫.০৪, CentOS/RHEL ৭.x, এবং নতুন ভার্সনগুলো httpd ব্যবহার করে। নিচের কমান্ডটি এক্সিকিউট করুন:
systemctl restart httpd.service
Apachectl ব্যবহার করা
apachectl স্ক্রিপ্ট একটি জেনেরিক পদ্ধতি প্রদান করে যা আপনার নির্দিষ্ট সার্ভার ডিস্ট্রিবিউশন সম্পর্কে নিরপেক্ষ থাকতে চায়। এটি এক্সিকিউট করতে আপনাকে রুট ইউজার হিসেবে চালাতে হবে:
sudo apachectl -k restart
sudo apachectl -k graceful
graceful মেথড reload মেথডের অনুরূপ।