PHP-FPM रिबूट के बाद स्वचालित रूप से शुरू नहीं होता है


15

मैं PHP-FPM और Nginx चला रहा हूं, कभी-कभी, जो भी कारण से, मुझे सर्वर को रिबूट करना होगा। एक बार सर्वर फिर से चल रहा है, nginx सेवा स्वचालित रूप से शुरू होती है, हालांकि, PHP-FPM नहीं करता है। यह तब देखा जा सकता है जब मैं sudo /etc/init.d/php-fpm restartरिबूट के तुरंत बाद कमांड चलाता हूं और परिणाम प्राप्त करता हूं :

$ sudo /etc/init.d/php-fpm restart
Stopping php-fpm:                                          [FAILED]
Starting php-fpm:                                          [  OK  ]

क्या यह अपेक्षित व्यवहार है? PHP-FPM को स्वचालित रूप से शुरू करने का सबसे अच्छा तरीका क्या है? वहाँ कहीं भी एक विन्यास विकल्प है, या क्या मुझे लिनक्स स्टार्टअप स्क्रिप्ट में से एक में कमांड जोड़ना है?

धन्यवाद।


आप कौन से लिनक्स वितरण का उपयोग कर रहे हैं? आपने php-fpm को कैसे स्थापित किया? पैकेज से या स्रोतों से?
टोनिन

यह अमेज़ॅन EC2 लिनक्स उदाहरण पर चल रहा है, PHP-FPM का उपयोग कर स्थापित किया गया थाyum install -y php-fpm
स्टीवन्सन

जवाबों:



4

मैं सिर्फ Ubuntu 16.04 पर इस समस्या में भाग गया और मैं Google से भविष्य के उपयोगकर्ताओं के लिए अपना उत्तर छोड़ रहा हूं जो समस्या पर ठोकर खाते हैं। चूंकि chkconfigज्यादातर CentOS के लिए विशिष्ट है, यह स्पष्ट रूप से Ubuntu पर मौजूद नहीं है। जाहिर है, php-fpmबूट के तहत शुरू करने के लिए एक कस्टम-निर्मित PHP ( SAPI) प्राप्त करने के लिए systemd, जो उबंटू 16.04 (पहले, अपस्टार्ट) के लिए नया है, इसे init.dस्क्रिप्ट को छोड़ने से परे सिस्टम के साथ पंजीकृत होने की आवश्यकता है /etc/init.d/। स्क्रिप्ट को पंजीकृत करने के लिए, मैं भागा:

update-rc.d php-fpm defaults

एक rebootऔर बाद में ps auxपुष्टि की गई कि php-fpmवास्तव में बूट पर शुरू हो रहा था। इसमें भी जोड़ा गया था /etc/init.d/.depend.start

अन्य विचार: उबंटू अपस्टार्ट काफी अच्छा था ताकि मुझे update-rc.dएक init.d स्क्रिप्ट को रखने के बाद कभी नहीं चलना पड़े - यह सिर्फ काम करता है। पूरी तरह से उस आदेश के बारे में भूल गया।


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

मैं एक Ubuntu 14.04 उपयोगकर्ता हूं और इसने मेरी मदद की, धन्यवाद! पुनश्च: sudoउस आदेश के लिए आवश्यक हो सकता है।
एडसन होरासियो जूनियर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.