2014-11-01 4 views
12

एक फ्री-स्तरीय अमेज़ॅन ईसी 2 इंस्टेंस पर, मैंने एक सरल node.js हैलो वर्ल्ड ऐप एक्सप्रेस पर चल रहा है।जब मैं हमेशा के लिए उपयोग करता हूं तो मेरी नोड ऐप प्रक्रिया क्यों बंद हो रही है?

अगर मैं npm start चलाने के लिए, मेरे ऐप ठीक चलाता है और मैं अपने ब्राउज़र से हिट कर सकते हैं, और मैं निम्नलिखित उत्पादन देखें:

> [email protected] start /home/ec2-user/app 
> node ./bin/www 

मैं हमेशा के लिए उपकरण विश्व स्तर पर स्थापित किया है। जब मैं forever start app.js चलाने के लिए, मैं देख रहा हूँ:

warn: --minUptime not set. Defaulting to: 1000ms 
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms 
info: Forever processing file: app/app.js 

हालांकि, जब मैं forever list जाँच, मुझे लगता है कि इस प्रक्रिया को बंद कर दिया है: error: Forever detected script was killed by signal: null

:

info: Forever processes running 
data:  uid command    script forever pid id logfile       uptime 
data: [0] 2v0J /usr/local/bin/node app.js 2455 2457 /home/ec2-user/.forever/2v0J.log STOPPED 

यह लॉग में केवल संदेश है

मैं कोई अन्य लॉग जानकारी नहीं ढूंढ पा रहा हूं। यह तुरंत क्यों रोकता है?

संपादित करें: मैंने इसे nohup forever start app.js के रूप में चलाने की कोशिश की और मुझे एक ही समस्या मिली। मैं एक ही एसएस सत्र में forever start और forever list चला रहा हूं, एक दूसरे के बाद। ऐप की प्रक्रिया तुरंत बंद हो रही है।

उत्तर

4

मैं एक ऐसी ही सवाल पर यह जवाब देने के लिए मेरी समस्या धन्यवाद हल करने में सक्षम था: https://stackoverflow.com/a/24914916/1791634

प्रक्रिया जब मैं इस्तेमाल किया गुजर के बजाय forever start ./bin/www app.js चल रहा रखा

यह है कि क्या देखने की बात है इससे सड़क पर कोई परेशानी होती है।

+1

क्यों शुरू करना चाहिए, अगर वे हमेशा के लिए उपयोग करने का उद्देश्य केवल हमेशा के लिए उपयोग करते हैं तो उन्हें हमेशा के लिए अनुमति दें।/Bin/www' शुरूआत के बिना शुरू करें।/bin/www' – suku

+0

का उपयोग किया जाता है, आप एसएसएच कंसोल – Diptox

+0

पर लॉग देख सकते हैं, लेकिन मैं हमेशा के लिए myscript.js' क्यों नहीं कर सकता हूं अगर मैं हमेशा के बिना myscript.js' को नोड कर सकता हूं? – Gherman

6

मुझे लगता है कि एसएसएच से डिस्कनेक्ट करने के बाद प्रक्रिया बंद हो रही है?

पहले nohup के साथ हमेशा के लिए दौड़ने का प्रयास करें।

nohup forever start app.js 

जब आप एसएसएच से डिस्कनेक्ट करते हैं तो सर्वर आपके सभी शैल की बाल प्रक्रियाओं को मार देता है। nohup एक प्रक्रिया को अपने मूल खोल से डिस्कनेक्ट करता है।

+1

मैं उसी एसएस सत्र में 'हमेशा के लिए app.js' और' हमेशा के लिए सूची 'चला रहा हूं, और यह हमेशा तुरंत बंद हो जाता है। मैंने अभी इसे 'nohup हमेशा app.js' शुरू करने के रूप में चलाने की कोशिश की और एक ही परिणाम मिला: जैसे ही मैंने इसे जांच लिया, हमेशा की प्रक्रिया को रोक दिया गया। –

+0

लॉग फ़ाइल की जांच करें। क्या आपकी नोड प्रक्रिया स्क्रिप्ट त्रुटि से मर रही है? – Daniel

+1

यदि मैं 'हमेशा सूची' में दिखाए गए लॉगफाइल की जांच करता हूं, तो मुझे लगता है कि उपर्युक्त प्रश्न में सूचीबद्ध त्रुटि है। क्या कोई और लॉग फ़ाइल है जिसे मैं देख सकता हूं? –

1

मेरे लिए, मुझे काम करने के लिए "हमेशा के लिए सूडो" का उपयोग करना पड़ा।

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

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