Apache2 Ubuntu 12.10 को शुरू करने पर मुझे यह त्रुटि एक नए इंस्टाल पर मिली।
यह Apache2 में एक बग है। यह पृष्ठभूमि में लटका हुआ है। यहाँ मेरा walkthrough है जहाँ बग सॉफ़्टवेयर में हो सकता है।
यहाँ मुझे मिली त्रुटि है:
el@titan:~$ sudo service apache2 start
* Starting web server apache2
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
पता पहले से प्रयोग में है? इसका उपयोग क्या हो सकता है? इसकी जांच - पड़ताल करें:
el@titan:~$ grep -ri listen /etc/apache2
/etc/apache2/apache2.conf:# supposed to determine listening ports for incoming connections, and which
/etc/apache2/apache2.conf:# Include list of ports to listen on and which to use for name based vhosts
/etc/apache2/ports.conf:Listen 80
/etc/apache2/ports.conf: Listen 443
/etc/apache2/ports.conf: Listen 443
इसका मतलब है कि apache2 शुरू से apache2 को रोक रहा है। विचित्र। यह पुष्टि करेगा:
el@titan:~$ ps -ef | grep apache2
root 1146 954 0 15:51 ? 00:00:00 /bin/sh /etc/rc2.d/S91apache2 start
root 1172 1146 0 15:51 ? 00:00:00 /bin/sh /usr/sbin/apache2ctl start
root 1181 1172 0 15:51 ? 00:00:00 /usr/sbin/apache2 -k start
root 1193 1181 0 15:51 ? 00:00:00 /bin/bash /usr/share/apache2/ask-for-passphrase 127.0.1.1:443 RSA
el 5439 5326 0 16:23 pts/2 00:00:00 grep --color=auto apache2
हां, इस मामले में apache2 चल रहा है, मैं उसी पोर्ट पर दूसरी बार apache2 शुरू करने की कोशिश कर रहा था।
मुझे क्या भ्रमित करता है कि service
रिपोर्ट है कि apache2 नहीं चल रहा है:
el@titan:~$ sudo service apache2 status
Apache2 is NOT running.
और जब आप अपने स्टेटस के लिए apache2ctl को क्वेरी करते हैं, तो यह हैंग हो जाता है।
root@titan:~# /usr/sbin/apache2ctl status
**hangs until Ctrl-C is pressed.
तो उबंटू को अपाचे 2 को बूटअप पर प्रबंधित करने में परेशानी हो रही है। Apache2 को रोकने का समय:
root@titan:~# /usr/sbin/apache2ctl stop
httpd (no pid file) not running
एक बड़ा सुराग! आप apache2 को रोकने की कोशिश करते हैं और यह प्रक्रिया आईडी खो गई है! तो उबंटू Apache2 को रोक नहीं सकता क्योंकि यह नहीं जानता कि यह कहां है!
आपको लगता है कि एक रिबूट इसे ठीक कर देगा, लेकिन ऐसा नहीं है क्योंकि अपाचे 2 बूट पर शुरू होता है और लटका रहता है। Apache2 के लिए सामान्य बूट प्रक्रिया सही काम नहीं कर रही है।
तो इसे कैसे ठीक करें?
मैंps
कमांड आउटपुट का विश्लेषण करके इसे ठीक करने में सक्षम था । ध्यान दें कि ps
कमांड हमें बताता है कि यह प्रक्रिया "/etc/rc2.d/S91apache2 start" द्वारा शुरू की गई थी।
यह अपमानजनक कार्यक्रम है जिसमें एक तेज किक की जरूरत है।
/etc/rc2.d/S91apache2
कंप्यूटर शुरू होने पर आपके लिए apache2 शुरू करने के लिए इस्तेमाल किया जाने वाला प्रतीकात्मक लिंक है। किसी कारण से यह अपाचे 2 शुरू होता है और फिर लटक जाता है। तो हमें यह बताना होगा कि ऐसा न करें।
तो उस पर एक नज़र रखना /etc/rc2.d/S91apache2
।
el@titan:/etc/rc2.d$ ls -l
lrwxrwxrwx 1 root root 17 Nov 7 21:45 S91apache2 -> ../init.d/apache2*
यह एक प्रतीकात्मक कड़ी है जिसे हम नहीं चाहते कि वह वहां हो। Apache2 को बूट पर शुरू होने से रोकने के लिए ऐसा करें:
root@titan:~# sudo update-rc.d -f apache2 remove
Removing any system startup links for /etc/init.d/apache2 ...
/etc/rc0.d/K09apache2
/etc/rc1.d/K09apache2
/etc/rc2.d/S91apache2
/etc/rc3.d/S91apache2
/etc/rc4.d/S91apache2
/etc/rc5.d/S91apache2
/etc/rc6.d/K09apache2
कंप्यूटर को रिबूट करें यह सुनिश्चित करने के लिए कि अपाचे 2 शुरू और लटका नहीं है। ठीक अच्छा। अब आप COULD को apache2 वापस रख सकते हैं जिस तरह से यह था, लेकिन यह फिर से विफल हो जाएगा।
root@titan:~$ sudo update-rc.d apache2 defaults //(don't do this)
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K20apache2 -> ../init.d/apache2
/etc/rc1.d/K20apache2 -> ../init.d/apache2
/etc/rc6.d/K20apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
इसके बजाय, अपाचे 2 को इस तरह शुरू करें:
sudo service apache2 start
और अपाचे 2 वापस आ गया है और फिर से पृष्ठों की सेवा कर रहा है। Apache2 / Ubuntu 12.10 के साथ कुछ गंभीर बग प्रतीत होते हैं जो apache2 को शुरू करने और लटकने का कारण बनता है। यह एक वर्कअराउंड है, मुझे लगता है कि यह फिक्स अपाचे 2 और उबंटू के नए संस्करणों को प्राप्त करने और सर्वश्रेष्ठ के लिए आशा है।