मैंने आखिरकार अपनी परियोजनाओं में से एक को नोड.जेएस का उपयोग करने के लिए परिवर्तित कर दिया है, लेकिन अब मुझे सर्वर पर अपना ऐप चलाने में समस्याएं आ रही हैं:/समस्या यह है कि अगर मैं अपना पट्टी सत्र बंद करता हूं तो नोड बस बंद हो जाता है।नोड ऐप कैसे चलाना है?
मैंने इस समस्या पर बहुत सी खोज की है, और ऐसा लगता है कि upstart
स्क्रिप्ट बनाना और Forever
मॉड्यूल का उपयोग करने का तरीका है।
मैं googling शुरू कर दिया है और इस नवोदय स्क्रिप्ट बनाया:
#!upstart
description "Loner NodeJS app launcher"
author "[email protected]"
start on startup
stop on shutdown
script
export HOME="/root"
exec sudo node /home/jjmpsp/server.js >> /home/jjmpsp/server.sys.log 2>&1
end script
मैं तो कल रात सर्वर पर start app
भाग गया और सर्वर चल रह है जब मैं पोटीन सत्र समाप्त हुआ। सब अच्छा।
हालांकि, मैं आज सुबह आया और पता चला कि नोड ऐप बंद हो गया है, इसलिए मैंने यह देखने के लिए server.sys.log
फ़ाइल की जांच की थी। ऐसा लगता है कि एप्लिकेशन ठीक भाग गया जब तक यह अंततः इस अपवाद का सामना करना पड़ा:
debug: client authorized
info: handshake authorized fziLHZA3Vo9i55eubvOq
events.js:48
throw arguments[1]; // Unhandled 'error' event
^
Error: Connection lost: The server closed the connection.
at Protocol.end (/home/jjmpsp/node_modules/mysql/lib/protocol/Protocol.js:73:13)
at Socket.onend (stream.js:80:10)
at Socket.emit (events.js:88:20)
at TCP.onread (net.js:348:51)
आज मैं और भी अधिक googling किया गया है और पता चला कि हमेशा के लिए वास्तव में एक NodeJS एप्लिकेशन को पुनः प्रारंभ करेगा कि क्या यह अप्रत्याशित रूप से बाहर निकालता है। मैं npm install forever
साथ मॉड्यूल स्थापित करने की कोशिश की, लेकिन मैं त्रुटियों की इस विशाल सूची प्राप्त:
[email protected]:~$ npm install forever
npm ERR! error installing [email protected] Error: No compatible version found: [email protected]'>=0.4.0- <0.5.0-'
npm ERR! error installing [email protected] No valid targets found.
npm ERR! error installing [email protected] Perhaps not compatible with your version of node?
npm ERR! error installing [email protected] at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:424:10)
npm ERR! error installing [email protected] at /usr/local/lib/node_modules/npm/lib/cache.js:406:17
npm ERR! error installing [email protected] at saved (/usr/local/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:136:7)
npm ERR! error installing [email protected] at Object.cb [as oncomplete] (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:36:9)
npm ERR! Error: No compatible version found: [email protected]'>=0.4.0- <0.5.0-'
npm ERR! No valid targets found.
npm ERR! Perhaps not compatible with your version of node?
npm ERR! at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:424:10)
npm ERR! at /usr/local/lib/node_modules/npm/lib/cache.js:406:17
npm ERR! at saved (/usr/local/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:136:7)
npm ERR! at Object.cb [as oncomplete] (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:36:9)
npm ERR! Report this *entire* log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR!
npm ERR! System Linux 3.8.4-x86_64-linode31
npm ERR! command "node" "/usr/local/bin/npm" "install" "forever"
npm ERR! cwd /home/jjmpsp
npm ERR! node -v v0.5.11-pre
npm ERR! npm -v 1.0.106
npm ERR! Error: EACCESS, Permission denied 'npm-debug.log'
npm ERR! Report this *entire* log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR!
npm ERR! System Linux 3.8.4-x86_64-linode31
npm ERR! command "node" "/usr/local/bin/npm" "install" "forever"
npm ERR! cwd /home/jjmpsp
npm ERR! node -v v0.5.11-pre
npm ERR! npm -v 1.0.106
npm ERR! path npm-debug.log
npm ERR! code EACCESS
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/jjmpsp/npm-debug.log
npm not ok
क्या कदम मैं ले जाना चाहिए इसे ठीक करने के लिए? मैं पूरी तरह से विचारों से बाहर हूँ। मैं सभी प्रकार के तकनीकी विवरणों को गुगल कर रहा हूं और मैं कहीं भी नहीं जा रहा हूं।
किसी भी मदद की बहुत सराहना कर रहा है :)
लगता लाइट आप नोड के एक पुराने संस्करण चला रहे हैं। क्या आप कोशिश कर सकते हैं और अपग्रेड कर सकते हैं और देख सकते हैं कि इससे कोई फर्क पड़ता है या नहीं। यह देखने के लिए कि आप कौन सा संस्करण चलाते हैं, आप process.version चला सकते हैं; एक नोड कंसोल में। मेरा मानना है कि आप भी वैश्विक ध्वज के साथ स्थापित करना चाहते हैं। npm install -g हमेशा के लिए –
jjmpsp @ alex: ~ $ node > process.version 'v0.10.5' –
मैंने 'sudo npm install -g हमेशा के लिए' चलाने की कोशिश की है:/hmm –