2013-02-23 20 views
5

नहीं चल रहा है इसलिए मैं ओएस एक्स 10.8.2 पर कई वर्चुअल होस्ट्स के साथ काम कर रहा हूं। मैं नाम-आधारित वर्चुअल होस्ट चलाने के लिए Apache2 स्थापना और MySQL का उपयोग कर रहा हूं। वे सभी कल रात तक पूरी तरह से ठीक काम कर रहे हैं। अचानक, मेरे सभी आभासी मेजबान "कनेक्ट नहीं हो सकते" पृष्ठ पर रीडायरेक्ट करते हैं।अपाचे शुरू नहीं होगा - httpd मॉड्यूल लोड होता है लेकिन

चारों ओर झुकाव और अंततः त्रुटि लॉग की जांच करने के बाद, मैंने निष्कर्ष निकाला है कि अपाचे वास्तव में नहीं चल रहा है। उदाहरण के लिए, पीएस ऑक्स | grep apache केवल grep प्रक्रिया देता है। हालांकि, अगर मैं सूडो/usr/sbin/apachectl शुरू करने की कोशिश करता हूं तो मुझे प्रतिक्रिया में "org.apache.httpd: पहले ही लोड किया गया" मिलता है।

मैंने अपनी httpd.conf फ़ाइल की जांच की है और यह बिल्कुल ठीक दिखता है। मुझे इसमें कोई बदलाव नहीं दिख रहा है। मैंने सिंटैक्स चेक कमांड भी चलाया (जो कि मेरे दिमाग से सटीक पल से बच निकलता है), और यह ठीक हो गया। मेरी त्रुटि लॉग में मिली एकमात्र चीज, आखिरी बात, कल 21 फरवरी से थी, और यह कहती है: "[गुरु फरवरी 21 21:46:02 2013] [नोटिस] ने सिगरेट पकड़ा,"

तब से, मेरे अपाचे त्रुटियों के लॉग में कुछ भी नहीं है (क्योंकि यह नहीं चल रहा है)। मैंने पुनरारंभ किया है, अपाचे को पुनरारंभ करने का प्रयास किया; मुझे कुल नुकसान हुआ है कि ऐसा क्यों लगता है कि यह चल रहा है भले ही यह नहीं है।

कोई विचार?

/var/logs/system.log में जब मैं शुरू करने और अपाचे पुनः आरंभ करने की कोशिश: रिबूट करने के बाद

Feb 23 09:27:00 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8766]): Exited with code: 1 
Feb 23 09:27:00 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds 
Feb 23 09:27:10 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8767]): Exited with code: 1 
Feb 23 09:27:10 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds 
Feb 23 09:27:16 Baileys-MacBook-Pro.local sudo[8769]: bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/sbin/apachectl start 
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8772]): Exited with code: 1 
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds 
Feb 23 09:27:20 Baileys-MacBook-Pro.local sudo[8773]: bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/sbin/apachectl restart 
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8777]): Exited with code: 1 
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds 
Feb 23 09:27:26 Baileys-MacBook-Pro.local sudo[8778]: bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/bin/vi system.log 

यह समस्या बनी रहती है। दूसरे दिन से, यह शुरू नहीं होगा लेकिन मानता है कि httpd मॉड्यूल लोड हो गया है।

मैं Google के माध्यम से पता लगाने की कोशिश कर रहा हूं, लेकिन - क्या किसी को पता है कि अपाचे जांचता है कि यह लोड हो गया है या नहीं? मुझे पता है कि कई सेवाएं लॉक फाइलें चलाने के लिए; क्या यह संभव है अपाचे में लॉक फ़ाइल कहीं है जो अभी भी अपाचे के चलते नहीं है, इसके बावजूद अभी भी लॉक है?



नोट: मैं ServerFault पर इस पोस्ट किया है, साथ ही साथ - मैं यहाँ इस पोस्ट कर रहा हूँ के रूप में अच्छी तरह से क्योंकि अब तक मैं ServerFault पर कुछ भी नहीं मिल रहा है और मैं अपाचे पदों पर पर देख रहा है StackOverflow, तो मुझे लगता है कि अपाचे प्रश्न स्टैक के लिए ठीक हैं।

उत्तर

19

मैं अपाचे शुरू करके समस्या (kinda) को पुन: पेश कर सकता हूं, जब एक ही प्रक्रिया पहले से ही उसी पोर्ट पर सुन रही है जिसे अपाचे (आमतौर पर पोर्ट 80) से बांधना चाहता है। तो वहाँ अगर जाँच शायद किसी अन्य प्रक्रिया उस पोर्ट पर ध्यान:

sudo lsof -i tcp:80 | grep LISTEN 

संपादित करें: शायद आसान:

sudo /usr/sbin/httpd -k start -e Debug -E /dev/stdout 
: आप अपाचे मैन्युअल डिबग मोड में देखने के लिए क्या कारण है यह प्रारंभ नहीं होता शुरू कर सकते हैं

मेरे मामले में (कुछ पहले से ही पोर्ट 80 पर सुन रहा है), यह होगा उत्पादन:

(48)Address already in use: make_sock: could not bind to address 0.0.0.0:80 
+0

जब मैं दौड़ता हूं कि आउटपुट कुछ भी नहीं है। –

+0

आपका अपाचे पोर्ट 80 पर सुनता है? अन्यथा आपको 'tcp:' के बाद पोर्ट नंबर बदलना होगा। क्या आप अंतर्निहित अपाचे 2 चला रहे हैं, या आपने एमएएमपी या कुछ स्थापित किया है? – robertklep

+0

मेरा अपाचे पोर्ट 80 पर चलाता है, हां। यह ओएस एक्स 10.8.2 के लिए अंतर्निहित अपाचे 2 है। –

0

robertklep के सूचक:

sudo/usr/sbin/httpd -k -e डीबग -E/dev/stdout

मेरे लिए एक संबंधित समस्या हल शुरू करते हैं। वही लक्षण, अलग कारण, मुझे लगता है। मैंने एसएसएल & के साथ एक स्व-हस्ताक्षरित प्रमाणपत्र के साथ एक परीक्षण वर्चुअल होस्ट स्थापित किया है।

मैंने पासफ्रेज के साथ एक निजी कुंजी उत्पन्न की थी। तो httpd पासफ्रेज़ की प्रतीक्षा कर रहा था (जिसे मैं आपूर्ति नहीं कर रहा था)। जब मैंने डीबग विकल्प के साथ शुरुआत की, तो मुझे प्रॉम्प्ट मिला, पासफ्रेज़ & httpd शुरू हुआ।

तो, एक पदबंध के बिना निजी कुंजी फिर से करना होगा ...

1

मेरे मामले में मुझे मिल गया:

(2) इस तरह के कोई फ़ाइल या निर्देशिका: httpd: सका खुला त्रुटि लॉग फ़ाइल नहीं /निजी/var/log/apache2/error_log। लॉग खोलने में असमर्थ

निर्देशिका apache2 बनाने से यह चल रहा है।

+0

यह मेरे लिए काम करता था, मेरा देखने की कोशिश कर रहा था/mnt/apache2 इसलिए मैंने mnt में "apache2" निर्देशिका बनाई और यह काम किया! –

0

यह पता नहीं है कि यह प्रासंगिक है, लेकिन चूंकि मुझे एक ही समस्या का सामना करना पड़ा और मुझे एक वैकल्पिक समाधान मिला, तो मुझे अपने 2 सी में वैसे भी डाल दें।

मुझे यह समस्या मिली जब मुझे एक ही समस्या मिली। यह पता चला है कि httpd.conf फ़ाइल अपराधी थी। मैंने इसे कुछ स्थापित करने के लिए बदल दिया था। हालांकि मैंने इंस्टॉलर फ़ाइलों को हटा दिया, मैं httpd.conf को वापस बदलना भूल गया। मुझे आशा है कि आपको एक ही समस्या का सामना नहीं करना पड़ेगा।

पोर्ट 80 पर सवाल के संबंध में, मैंने स्काइप को बंदरगाह के साथ-साथ 443, (भगवान को क्या पता है) देखा था और मैंने इसे बंद करने के बाद बेहतर परिणाम प्राप्त किए थे। सुनिश्चित करें कि आपके पास पोर्ट 80 पर स्काइप चल रहा है।

संबंधित मुद्दे