मैं कैसे पता लगा सकता हूं कि मेरा php5-fpm शुरू करने में विफल क्यों रहा?


10

जब मैं अपने सर्वर तक पहुंचने की कोशिश करता हूं, तो मुझे 504 गेटवे टाइमआउट मिलता है, php5-fpm लॉग पर कोई लॉग नहीं मिला, लेकिन सिर्फ यह सुनिश्चित करने के लिए, मैंने इसे फिर से शुरू करने की कोशिश की। जब मैं इसे पुनः आरंभ करने की कोशिश कर रहा हूँ:

sudo service php5-fpm restart

मुझे मिलता है [fail] लेकिन जब मैं करता हूं

sudo service php5-fpm stop
sudo service php5-fpm start

मुझे कोई त्रुटि नहीं हुई।

अगर कोई लॉग नहीं हैं तो मैं इसकी जांच कैसे कर सकता हूं? मैं क्या कर सकता हूँ?

जवाबों:


17

क्या आपने php-fpm के लिए अपनी error_log फ़ाइल की जाँच की थी ? उस फ़ाइल का स्थान आपके php-fpm.conf में घोषित किया जाना चाहिए (उबंटू कॉन्फ़िगरेशन में /etc/php5/fpm/php-fpm.conf है, लॉग फ़ाइल / var / log / php5-fpm / लॉग है), अपनी फ़ाइल भी जांचें log_level , यदि अक्षम है (; log_level), कृपया इसे सक्षम करें और इसे डीबग में बदलें । उसके बाद php5-fpm सेवा को पुनरारंभ करने का प्रयास करें और अपने लॉग की जांच करें।

आप php5-fpm को अग्रभूमि मोड में चलाने का प्रयास कर सकते हैं:

# php5-fpm -y /etc/php5/fpm/php-fpm.conf

शायद यह आपको कुछ दिलचस्प दिखा।


1
मेरे मामले में, इस कमांड ने php5-fpm की शुरुआत की जबकि service php5-fpm startऐसा नहीं किया। धन्यवाद!
डेविड थॉमस

डेविस, यह मेरे लिए काम करने लगता है +1! लेकिन .. जाम ने मुझे समाधान दिया, मुझे कुछ त्रुटि मिली +1! आप सभी को धन्यवाद!
तेनुस्सादक

यदि आप एक upstart नौकरी का उपयोग करके FPM शुरू करते हैं, तो php-fpm स्टार्टअप लॉग को
Ashwin Date

Php7.0 उपयोग के लिएphp-fpm7.0 -F -c /etc/php/7.0/fpm/php-fpm.conf
यदवेंद्र

4

मानक समस्या निवारण प्रक्रिया:

  • लॉग फ़ाइल की जाँच करें। यदि आप यह नहीं जानते हैं कि यह कहाँ है, तो यह देखें कि यह किस प्रकार की जाँच है या कुछ के लिए यह पता लगाने के लिए कि पीआईडी ​​है ps aux | grep php-fpm, तो करें lsof -p $PID | grep log(अगर यह कुछ नहीं दिखाता है तो इसे छोड़ दें)।
  • समय लॉग फ़ाइलों का 99% आपको कारण दिखाएगा। यदि नहीं, तो कॉन्फ़िगरेशन में लॉगिंग स्तर की तलाश करें, इसे बढ़ाएं और फिर से प्रयास करें।
  • शायद यह तुरंत समाप्त हो जाता है और आप इस प्रक्रिया का निरीक्षण करने के लिए पीआईडी ​​नहीं प्राप्त कर सकते हैं। आप अग्रभूमि में प्रक्रिया शुरू करने का भी प्रयास कर सकते हैं, लेकिन इसका मतलब यह है कि कौन सा कमांडलाइन स्विच आपको उपयोग करने की आवश्यकता है। आमतौर पर आपको बस इसे अपने मौजूदा कॉन्फिग में इंगित करना होता है।
  • यदि न तो लॉग फ़ाइल या stdout / stderr (अग्रभूमि आउटपुट) में कोई भी सुराग शामिल है, यह स्ट्रेस के लिए समय है ... लेकिन एक और पोस्ट है।

लॉग फ़ाइल खोजने के लिए +1 अच्छा तरीका!
डेवडीब

3

इस नोट ने मेरी मदद की: https://bugs.launchpad.net/nginx/+bug/1366651

मेरे मामले में, nginx> 1.6.1 को अद्यतन करने के लिए जो पैरामीटर php5-fpm को पास किए जाते हैं, वे fastcgi.conf के बजाय fastcgi.conf में स्थित होते हैं, जिसके परिणामस्वरूप एक PHP जो हमेशा 200 (ठीक) देता है, लेकिन कभी भी कोई सामग्री नहीं मिलती है, क्योंकि SCRIPT_FILENAME अब सेट नहीं किया गया था।

मुझे उम्मीद है कि यह किसी और की भी मदद करेगा।


2

मेरे लिए, समस्या मेरी php-fpm.confफ़ाइल डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल नाम का उपयोग नहीं कर रही थी - इसे नाम दिया गया था /etc/php5/fpm/php5-fpm.conf( php5-fpm.confबनाम php-fpm.conf)

php5-fpm -t  

[26-Jul-2014 22:39:16] ERROR: failed to open configuration file '/etc/php5/fpm/php-fpm.conf': No such file or directory (2)
[26-Jul-2014 22:39:16] ERROR: failed to load configuration file '/etc/php5/fpm/php-fpm.conf'
[26-Jul-2014 22:39:16] ERROR: FPM initialization failed

मैंने उस फ़ाइल का नाम बदल दिया php-fpm.confऔर उस समस्या को ठीक कर दिया।

sudo mv /etc/php5/fpm/php5-fpm.conf /etc/php5/fpm/php-fpm.conf
sudo service php5-fpm restart
 * Restarting PHP5 FastCGI Process Manager php5-fpm                                                                           [ OK ]

0

मुझे बिना लॉग फ़ाइलों की इस समस्या का अनुभव हुआ, फिर मैंने देखा कि मैं HTTP के बजाय HTTPS पर URL एक्सेस कर रहा था और उस प्रोटोकॉल को Nginx में सेट नहीं किया गया था, इसलिए PHP5-FPM को ट्रैफ़िक नहीं मिल रहा था।

किसी की मदद कर सकते हैं।


0

ऐसा हो सकता है कि उबंटू डिस्ट-अपग्रेड पर पैकेज php5-fpm को अनइंस्टॉल किया जाए क्योंकि php 7 इसके बजाय php-fpm का उपयोग करता है। कंसोल पर इसे चलाने का प्रयास करें:

php5-fpm

यदि यह मौजूद नहीं है तो आप शायद पहले से ही php 7 का उपयोग करते हैं, इसलिए इंस्टॉल करें

apt-get install php-fpm

जो php7 संस्करण स्थापित करेगा

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