Apache सर्वर अपने आप शुरू नहीं होता है


11

मैंने अपाचे को अपने लैपटॉप पर विकास के माहौल को स्थापित करने के हिस्से के रूप में एक लंबे समय से स्थापित किया है।

हालाँकि, जब से मैंने कुछ महीने पहले इसे रोका था, अब यह बूट पर स्वतः शुरू नहीं होता है। मुझे घर पर अपने लैपटॉप पर और काम पर अपने लैपटॉप पर यह समस्या है।

मैं दोनों ही मामलों में, मैंने कुछ महीने पहले 10.10 में अपाचे को स्थापित किया था, इसे कई हफ्तों तक बिना किसी गड़बड़ के इस्तेमाल किया, लेकिन फिर एक दिन मैंने इसे रोक दिया और अब यह स्वचालित रूप से शुरू नहीं होता है। मैंने इसके लिए मैन्युअल रूप से अपडेट आरसी चलाने की कोशिश की, लेकिन बताया गया कि इनिट स्क्रिप्ट पहले से उपयोग में है।

हालाँकि, इसे मैन्युअल रूप से शुरू / पुनः आरंभ करना

sudo service apache2 start/restart

ठीक काम करता है। दोनों मामलों में, मैंने इसे 11.04 पर अपग्रेड करने के बाद तक रहने दिया, क्योंकि मुझे उम्मीद थी कि यह नए संस्करण द्वारा हल किया जाएगा। लेकिन ऐसा नहीं है! अगर कोई मुझे बता सकता है कि अपाचे को एक बार फिर से कैसे शुरू किया जाए तो मैं आभारी रहूंगा।

जवाबों:


10

चलाने की कोशिश करें

update-rc.d apache2 enable [list of run levels]

जड़ के रूप में।

आपको पढ़ने में रुचि हो सकती है

man update-rc.d

1
बहुत बहुत धन्यवाद, मैंने कमांड चलाया (रनलेवल्स की कोई सूची नहीं, बस चूक), और यह काम करने लगता है। क्या आप जानते हैं कि यह काम करना क्यों बंद कर रहा है? मैं init स्क्रिप्ट के साथ इधर-उधर नहीं हुआ, मुझे लगता है कि मैंने Apache को कमांड लाइन से रोक दिया था - लेकिन मेरा स्थायी रूप से रुकने का कोई इरादा नहीं था । :-)
कार्स्टन एगर

मेरे पास कोई राय नहीं है कि यह क्यों काम करना बंद कर रहा है :) शायद अपडेट के बाद कुछ काम करना शुरू करना सही नहीं है।
प्रातः

धन्यवाद, लेकिन यह मदद नहीं करता है। कोई फर्क नहीं पड़ता कि मैं कैसे अपडेट- rc.d apache2 सक्षम करता हूं, अपाचे फिर से स्वचालित रूप से चलना बंद कर देता है। मुझे हमेशा इसे मैन्युअल रूप से शुरू करना होगा। ऐसा लगता है कि कोई वास्तविक समस्या नहीं है, क्योंकि यह हमेशा सही ढंग से शुरू होता है जब मैं इसे मैन्युअल रूप से करता हूं।
कार्स्टन एगर

9

मैं इस जवाब को हाल ही के उन मुद्दों के आधार पर जोड़ रहा हूं जो मैंने समान लक्षणों के साथ सामना किए हैं।

पहले कुछ पृष्ठभूमि डेटा:

  • Ubuntu /etc/init.d/सेवाओं को शुरू / बंद करने के लिए फ़ोल्डर में स्क्रिप्ट का उपयोग करता है ।
  • उबंटू उन /etc/init.d/लिपियों का उपयोग करता है , जिन्हें /etc/rc#.d/फ़ोल्डर में संग्रहीत किया जाता है , "रनलेवल" के आधार पर सेवाओं को शुरू / बंद करने के लिए।
  • एक "एस" से शुरू होने वाले संकेत संकेत देते हैं कि सेवा शुरू की जानी चाहिए।
  • एक "के" से शुरू होने वाले संकेत संकेत देते हैं कि सेवा को रोकना (मारना) चाहिए।
  • रनलेवल 1 स्क्रिप्ट को निष्पादित करता है /etc/rc1.d/, रनलेवल 2 का उपयोग करता है /etc/rc2.d/, और इसी तरह।
  • Ubuntu के लिए डिफ़ॉल्ट रनवे 2 है।
  • अपाचे की स्थापना अनिवार्य रूप से चलती है sudo update-rc.d apache2 defaultsजो /etc/rc#.d/फ़ोल्डरों में उपयुक्त सीमलिंक बनाती है ।

तो ऐसा लगता है कि मेरे सर्वर पर कुछ, या कोई, किसी बिंदु पर भाग गया sudo update-rc.d apache2 disableजिसने सभी "एस" सिम्कलिंक्स को हटा दिया और उन्हें "के" सिम्लिंक्स के साथ बदल दिया। इस प्रकार, हत्या, या बस शुरू नहीं, अपाले जब किसी भी रनले को आरंभ करता है।

मेरा समाधान सिर्फ अपाचे को फिर से सक्षम करना था:

sudo update-rc.d apache2 enable

अब अपाचे शुरू होता है या रनवेवेल्स को चालू करते समय अपेक्षित रूप से बंद हो जाता है।

ध्यान दें:

यह ध्यान देने योग्य है कि बस sudo update-rc.d apache2 defaultsफिर से चलना अपर्याप्त है क्योंकि यह देखता है कि सिमिलिंक मौजूद हैं और मानते हैं कि वे वही हैं जो चाहते थे। यह सिर्फ इसके साथ प्रतिक्रिया करता है:

System start/stop links for /etc/init.d/apache2 already exist.

1
धन्यवाद! यह मेरे कॉन्फ़िगरेशन के समस्या निवारण में बहुत मूल्यवान था।
रीयर

1
मुझे यह समस्या हो रही है लेकिन यह समाधान आश्चर्यजनक रूप से काम नहीं आया। जब मैं sudo update-rc.d apache2 enable defaultsइसे चलाता हूं तो मेरे पास जो है उसे हटा देता है और फिर उसे वापस रख देता है। मेरे पास K09apache2rc0, 1 और 6 में है, और मेरे पास S91apache2rc2, rc3, rc4, rc5 में है। service apache2 startठीक काम करता है, लेकिन मुझे इसे हर पुनरारंभ के बाद करना होगा क्योंकि यह स्वचालित रूप से शुरू नहीं होगा। दूसरी ओर, mysql, हमेशा ठीक शुरू होता है।
बुटेल बटुकस

1
जो सही लगे। आप अपनी विशिष्ट समस्या के विवरण के साथ नया प्रश्न खोलना चाहते हैं /var/log/syslogऔर अपनी और से प्रासंगिक पंक्तियों को शामिल करना सुनिश्चित कर सकते हैं /var/log/apache2/error.log। प्रश्न के लिंक के साथ मुझे संदेश दें और मैं देखूंगा कि क्या मैं मदद कर सकता हूं।
कार्ल विल्बर

3

इस मामले में, मुझे पता चला कि अपाचे शुरू क्यों नहीं होगा। मुझे स्टार्टअप लॉग में इसका कोई निशान नहीं मिला, केवल बूटअप पर स्क्रीन पर छपे आउटपुट में।

लेकिन यहाँ आप जाते हैं: स्क्रिप्ट की अंतिम पंक्ति /etc/apache2/apache2.confविफल रही।

क्यों?

इसे कहते हैं:

Include sites-enabled/

हालाँकि, मैंने जिन साइटों को स्थापित किया है उनमें से दो मेरे अपने घर निर्देशिका में स्थित हैं - जो एन्क्रिप्टेड है!

तो, बूटअप (अपाचे के स्टार्टअप के दौरान) इन साइटों का अस्तित्व नहीं है, और अपाचे विफल रहता है और चलाने से इनकार करता है।

उपाय?

मेरे द्वारा बनाए गए एक छोटे से स्क्रिप्ट "disable_sites" कहा जाता है और में यह सांकेतिक रूप से लिंक /etc/rc0.dऔर /etc/rc6.d(शट डाउन और रिबूट):

#!/bin/bash

/usr/sbin/a2dissite vvsshop
/usr/sbin/a2dissite neoflex
/etc/init.d/apache2 reload

exit 0

जब भी मैं लॉग-इन करता हूं, तब अपनी साइटों में पुन: सक्षम करने के लिए मैंने एक स्क्रिप्ट बनाई और इसे अपने सिस्टम सेटिंग्स में स्टार्टअप प्रोग्राम के रूप में जोड़ा। तो अब यह काम करता है!

इसलिए, मुझे लगता है कि सबक यह है कि जब अपाचे अकस्मात बूटअप के दौरान लोड करने में विफल रहता है और आप लॉग में कोई त्रुटि नहीं पा सकते हैं या सर्वर को मैन्युअल रूप से शुरू करते समय, जांचें कि क्या सभी निर्देशिकाओं की आवश्यकता है। यह शायद किसी अन्य तरीके से भी हल किया जा सकता है।


मुझे आश्चर्य है कि आपको लॉग में कोई त्रुटि नहीं मिली। मुझे अतीत में पता चला है कि कुछ अपाचे स्टार्टअप त्रुटियां उस लॉग फ़ाइल में नहीं थीं जिसकी मुझे उम्मीद थी, लेकिन मेरे एक वर्चुअल होस्ट की लॉग फ़ाइल में। क्या ऐसा हो सकता है?
मारियस गेदमिनस

apachectl configtestडेमॉन के रूप में चलने के दौरान आपको फ़ाइलों को एक्सेस करने के लिए अनुमतियों की कमी के बारे में सूचित किया होगा।
Anuga

1

इस समस्या के लिए अन्य लोगों की तलाश (गुगली) देखें कि क्या आप चलाते हैं:

chkconfig |grep httpd

आपको मिला

httpd 0: off 1: off 2: 3: on 4: on 5: on 6: off

और करो:

chkconfig httpd on

(क्षमा करें, ubuntu chkconfig समतुल्य अद्यतन- rc.d है , Ubuntu सर्वर के लिए Chkconfig विकल्प देखें ? )


0

मुझे भी यही समस्या थी, और मैं एक स्थानीय वैग्रांट सेटअप पर Ubuntu 14 चला रहा हूं। मैंने /etc/apache2/sites-enabledडायरेक्टरी को हटा दिया और अपने होम डाइरेक्टरी में एक लिंक जोड़ा, जो निश्चित रूप से वैग्रैंट कॉन्फिग्स के अनुसार मेरी लोकल ड्राइव पर लगा है।

अपाचे को चालू करने से निर्देशिका नहीं देखी जा रही थी क्योंकि संसाधन अभी तक माउंट नहीं किया गया था। मैंने Vagrant पर अपने प्रावधान को फिर sites-enabledसे जोड़ने के बजाय केवल एक निर्देशिका को कॉपी करने के लिए निर्देशिका में बदल दिया।

sudo update-rc.d apache2 enableजैसा Karl Wilburकि अपाचे इनिट सक्षम किया गया था, यह सुनिश्चित करने के लिए मैंने भी सुझाव दिया था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.