উত্তর:
বেশিরভাগ লোক একটি এনডি সিস্টেমের মাধ্যমে তাদের httpd (অ্যাপাচি, এনগিনেক্স, ইত্যাদি) চালায়। আপনি অবশ্যই কোনও প্যাকেজ থেকে ইনস্টল করা থাকলে এটি অবশ্যই অবশ্যই কেস। এই সমস্ত ডিআইডি সিস্টেমের প্রায়শই কোনও পদ্ধতিতে কাজ চলছে যদি এটি চালু থাকে। আমার ক্ষেত্রে আমি এনগিনেক্স ব্যবহার করছি যা কোনও এসআইএসভি-স্টাইলের থ্রি স্ক্রিপ্ট পাঠায় এবং এটি একটি status
যুক্তি গ্রহণ করে, যেমন:
$ /etc/init.d/nginx status
* nginx is running
স্পষ্টতই যদি আপনি কোনও আলাদা এইচডিডি, স্ক্রিপ্ট বা ডিআইডি সিস্টেম চালাচ্ছেন তবে আপনি কিছুটা আলাদা সিনট্যাক্স পেতে চলেছেন তবে আপনি নিজে নিজেই httpd চালু না করে (যা বিশ্বের সবচেয়ে খারাপ ধারণা বলে মনে হচ্ছে), আপনি না সম্ভবত একটি দুর্দান্ত, পরিচালিত স্টার্ট-আপ স্ক্রিপ্ট ব্যবহার করছে যা আপনাকে স্থিতিটি জিজ্ঞাসা করার অনুমতি দেবে।
এসএমএলের উত্তরে এই ধরণের সূচনা জিজ্ঞাসাবাদ সম্পর্কে আরও রয়েছে তবে এটি বিশ্বাসের সাথে সমস্যাটি কেবল তখনই আপনাকে জানায় যে কোনও প্রক্রিয়া এখনও চলছে কিনা। তোমার httpd 'র প্রধান প্রক্রিয়া পারে চলমান হতে কিন্তু কোনো না কোনোভাবে অচলাবস্থা। সাধারণ সূচনা পরীক্ষাগুলি এড়িয়ে চলা এবং আচরণগত পরীক্ষাগুলিতে অগ্রসর হওয়া অনেক অর্থবোধ করে।
আমরা httpds সম্পর্কে একটি জিনিস জানি যা তারা শুনবে they সাধারণত বন্দরে *:80
, তবে যদি আপনার না হয়, আপনি নিম্নলিখিত কোডটি কোডটি মানিয়ে নিতে পারেন। এখানে আমি ঠিক পোর্টে শুনছি কিনা তা দেখার awk
জন্য কেবলমাত্র আউটপুটটি ইনগ করছি netstat
।
$ sudo netstat -ntlp | awk '$4=="0.0.0.0:80"'
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2079/nginx
সঠিক httpd চলছে কিনা তা নিশ্চিত করার জন্য আমরা কোন প্রক্রিয়াটি খুব বেশি চলছে কিনা তাও পরীক্ষা করে দেখতে পারি । আমরা সব ধরণের চেক করতে পারি। নির্ভর করে আপনি কতটা বেহাল হতে চান :)
তবে এটি কেবল কোনও পোস্টের প্রতিচ্ছবি। সত্যিই এটি পরীক্ষা করতে চান? আচ্ছা এটি পরীক্ষা করা যাক ।
$ wget --spider -S "http://localhost" 2>&1 | awk '/HTTP\// {print $2}'
200
আমি কেবল প্রতিক্রিয়া কোডটি দেখছি (২০০ এর অর্থ "এ-ওকে!") তবে আবার, আমরা সঠিকভাবে উত্পন্ন হচ্ছে তা নিশ্চিত করার জন্য আমরা খনন করতে পারি এবং বাস্তবে আউটপুটটি পরীক্ষা করতে পারি।
তবে এমনকি এটি পুরোপুরি নয়। আপনি পরীক্ষা করছেন localhost
এবং 200 এর প্রতিবেদন করছেন , কিছু ভুল নেই? যদি বিভারগুলি HTTP সরবরাহকারী নেটওয়ার্ক কেবলের মাধ্যমে চিবানো হয় (তবে সিস্টেমের বাকি অংশ নয়)? তারপর কি?! আপনি যখন নিচে আসবেন তখন আপনি আপটাইম রিপোর্ট করছেন। ভুল স্থিতির ডেটার চেয়ে কয়েকটি জিনিসই অধিকতর পেশাগত বলে মনে হয়।
সুতরাং আসুন একটি বাহ্যিক সার্ভারের সাথে কথা বলা যাক (আদর্শভাবে সম্পূর্ণ ভিন্ন সংযোগে, অন্য গ্যালাক্সিতে অনেক দূরে) এবং আমাদের সার্ভারকে জিজ্ঞাসা করতে এটি জিজ্ঞাসা করুন:
$ ssh tank 'wget --spider -S "http://bert" 2>&1' | awk '/HTTP\// {print $2}'
200
এই মুহুর্তে, যে কোনও সমস্যা প্রতিবেদন করেছে তা হ'ল অ্যাপ্লিকেশন সমস্যাগুলি (যার নিজস্ব ত্রুটি-হ্যান্ডলিং এবং-রিপোর্টিং থাকতে পারে, বা তারা ক্লায়েন্টের শেষে রয়েছে)।
এই পরীক্ষাগুলির সংমিশ্রণটি সমস্যাটি খুব কমই রয়েছে।
আপনি বেশিরভাগ লিনাক্স ডিস্ট্রোজে সার্ভিস কমান্ড সর্বজনীনভাবে ব্যবহার করতে পারেন।
$ service <service> status
$ service httpd status
httpd (pid 23569) is running...
এই একই কমান্ডটি স্বতন্ত্র ভিত্তিতে চলমান সমস্ত পরিষেবার জন্য বা সমস্ত পরিষেবার স্থিতি খুঁজে পেতে ব্যবহার করা যেতে পারে।
$ service --status-all
python is stopped
automount (pid 22457) is running...
Avahi daemon is not running
Avahi DNS daemon is not running
crond (pid 23577) is running...
gpm is stopped
hald is stopped
httpd (pid 23569) is running...
...
আপনি যদি আরও সাধারণ পরিষেবা পরিচালনার ফ্রেমওয়ার্কগুলির একটি ব্যবহার করেন তবে প্রতিটিটির মধ্যে পরিষেবাগুলি তালিকাভুক্ত করতে নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করতে পারেন।
SysVinit
$ ls -l /etc/init.d/ | head -10
total 220
-rwxr-xr-x 1 root root 1422 Jan 13 2009 ajaxterm
-rwxr-xr-x 1 root root 3052 Apr 20 2012 autofs
-rwxr-xr-x 1 root root 1877 Apr 13 2011 avahi-daemon
-rwxr-xr-x 1 root root 1824 Apr 13 2011 avahi-dnsconfd
-rwxr-xr-x 1 root root 1926 Feb 22 2012 crond
-rwxr-xr-x 1 root root 14291 Dec 19 2011 functions
-rwxr-xr-x 1 root root 1778 Jan 6 2007 gpm
-rwxr-xr-x 1 root root 1586 Mar 5 2011 haldaemon
-rwxr-xr-x 1 root root 5742 Dec 19 2011 halt
systemd
$ systemctl list-unit-files --type=service | head -10
UNIT FILE STATE
abrt-ccpp.service enabled
abrt-oops.service enabled
abrt-pstoreoops.service disabled
abrt-vmcore.service enabled
abrt-xorg.service enabled
abrtd.service enabled
accounts-daemon.service enabled
alsa-restore.service static
alsa-state.service static
ভুঁইফোঁড়
$ initctl list | head -10
avahi-daemon start/running, process 1090
mountall-net stop/waiting
nmbd start/running, process 2045
passwd stop/waiting
rc stop/waiting
rsyslog start/running, process 1088
tty4 start/running, process 1211
udev start/running, process 483
upstart-udev-bridge start/running, process 480
ureadahead-other stop/waiting