यद्यपि अन्य उत्तर ओपी की समस्या को हल करते हैं, वे सभी ओवरकिल हैं और यह नहीं समझाते हैं कि वह इस मुद्दे का अनुभव कर रहे हैं या नहीं।
कुंजी यह पंक्ति है, "मैं पोटीन को बंद करता हूं, फिर मैं पते तक नहीं पहुंच सकता"
जब आप पुट्टी पर अपने दूरस्थ होस्ट में लॉग इन होते हैं तो आपने एक SSH लिनक्स प्रक्रिया शुरू की है और उस SSH सत्र से टाइप किए गए सभी आदेशों को उक्त प्रक्रिया के बच्चों के रूप में निष्पादित किया जाएगा।
आपकी समस्या यह है कि जब आप पुट्टी को बंद करते हैं तो आप SSH सत्र से बाहर निकलते हैं जो उस प्रक्रिया और किसी भी सक्रिय बच्चे की प्रक्रिया को मारता है। जब आप पोटीन को बंद करते हैं तो आप अनजाने में अपने सर्वर को मार देते हैं क्योंकि आप इसे अग्रभूमि में चलाते हैं । इस व्यवहार से बचने के लिए पृष्ठभूमि में सर्वर को जोड़कर और अपने आदेश से चलाएं :
node /srv/www/MyUserAccount/server/server.js &
यहाँ समस्या लिनक्स ज्ञान की कमी है और नोड के बारे में सवाल नहीं है। कुछ और जानकारी के लिए देखें: http://linuxconfig.org/understanding-foreground-and-background-linux-processs
अपडेट करें:
जैसा कि दूसरों ने उल्लेख किया है, टर्मिनल से बाहर निकलने पर नोड सर्वर अभी भी मर सकता है। एक सामान्य गोटा जो मुझे आया है, वह यह है कि भले ही नोड प्रक्रिया bg में चल रही हो, यह stdout है और stderr अभी भी टर्मिनल पर बताया गया है। इसका मतलब यह है कि यदि नोड सर्वर कंसोल.लॉग या कंसोल को लिखता है। यह एक टूटी हुई पाइप त्रुटि और क्रैश प्राप्त करेगा। आपकी प्रक्रिया के आउटपुट को पाइप करके इससे बचा जा सकता है:
node /srv/www/MyUserAccount/server/server.js > stdout.txt 2> stderr.txt &
यदि समस्या बनी रहती है, तो आपको tmux या nohup जैसी चीजों पर ध्यान देना चाहिए , जो अभी भी नोड विशिष्ट समाधानों की तुलना में अधिक मजबूत हैं, क्योंकि उनका उपयोग सभी प्रकार की प्रक्रियाओं (डेटाबेस, लॉगिंग सेवाओं, अन्य भाषाओं) को चलाने के लिए किया जा सकता है।
एक सामान्य गलती जो सर्वर को बाहर निकलने का कारण बन सकती है वह यह है कि दौड़ने के बाद nohup node your_path/server.js &
आप बस एक साधारण क्लिक करके पुट्टी टर्मिनल को बंद कर दें। आपको exit
इसके बजाय कमांड का उपयोग करना चाहिए , फिर आपका नोड सर्वर ऊपर और चल रहा होगा।